说明:
选购vps时,要测试哪些地方呢?特别是公司需要,我们就更应该作个对比。以下是个人一点小看法,有不足之处请留言。
目前测试共3步,网络测试,服务器性能测试,服务测试。
1. 网络测试包括时延,带宽,稳定性3个部份,最好分时段多次测试。因为之前有碰到vps测试的时候没问题,但随着vps服务商规模增加、用户增加,而服务器资源就那些,后面就有点坑爹了。
2. 服务器性能测试,这部份我就简单测试了下硬盘io(因为我这主要是用作web的,所以小文件几k到2M是文件最多,所以主要测试这个大小文件的读写)。cpu,内存就看型号,大小了。
3. 服务测试,这个是很关键的。出问题了,找谁,处理会不会快,这个很重要。建议大半夜搞几个小问题试下vps服务商的售后支持。
4. 其实还有个价格测试的,就是后面扩容,价格增加得怎么样。不过这部份因为没让我弄也就懒得管了。
具体:
一、网络测试
1. 时延
http://ping.chinaz.com/,最好分时段,多次测试。更具体可以查询ping.china.com
xx云 xxx.xxx.xxx.xxx
yyy云 yyy.yyy.yyy.yyy
2.带宽测试,最好分时段多次测试,上下行下通过wget 文件测试
服务器 位置 IP 上行(从公司上传文件到云服务器) 下行(从公司上传文件到云服务器)
xx云 北京BGP xxx.xxx.xxx.xxx 上行不限制,实测604 KB/s 下行10M,实测464KB/s,应该是公司内网问题,导致下载速度没起来
yyy云 北京BGP yyy.yyy.yyy.yyy 上行不限制,实测580 KB/s 下行10M,实测207 KB/s
3.稳定性,测试网络断续情况!
暂未测试,这个需要监控系统才能测试!!!
二、服务器测试
1.硬盘io
磁盘类型,是否ssd磁盘,测试各文件大小(32K – 2M 大小读写,目前测试粒度还不够细)
xx云 xxx.xxx.xxx.xxx 操作\数据大小 8K,操作12K次 64K,操作6K次 1M,操作1K次 读操作 14.0 MB/s 81.2 MB/s 45.3 MB/s 写操作 4.0 MB/s 22.1 MB/s 65.7 MB/s
yyy云 yyy.yyy.yyy.yyy
操作\数据大小 8K,操作12K次 64K,操作12K次 1M,操作12K次 读操作 74.7 MB/s 542 MB/s 2.8 GB/s 写操作 21.6 MB/s 45.8 MB/s 172 MB/s
2.cpu
xx云云
Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
cpu MHz : 2299.998
cache size : 4096 KB
yyy云
QEMU Virtual CPU version (cpu64-rhel6)
cpu MHz : 2599.998
cache size : 4096 KB
三、服务测试
都是企业QQ回复的,没找到工单系统
xx云
回复快!
yyy云
回复快!
附录:
附录1:linux下磁盘IO读写性能测试脚本
#!/bin/sh #20141122 carl 1st #PATH file=dd.file BS_COUNT_8K=(8K 12K) BS_COUNT_64K=(64K 6K) BS_COUNT_1M=(1M 1K) list="8K 64K 1M" wlog=/tmp/ddwrite.log rlog=/tmp/ddread.log #write Write() { echo "[INFO]WRITE" for i in $list;do bs=$(eval echo \$\{BS_COUNT_$i\[0\]\}) count=$(eval echo \$\{BS_COUNT_$i\[1\]\}) echo "dd if=/dev/zero of=$file conv=fsync oflag=direct bs=$bs count=$count" dd if=/dev/zero of=$file conv=fsync oflag=direct bs=$bs count=$count 2>>$wlog echo " " #echo "sleep 3" sleep 3 done } #read Read() { echo "[INFO]READ" for i in $list;do bs=$(eval echo \$\{BS_COUNT_$i\[0\]\}) count=$(eval echo \$\{BS_COUNT_$i\[1\]\}) echo "dd if=$file of=/dev/null iflag=direct bs=$bs count=$count" dd if=$file of=/dev/null iflag=direct bs=$bs count=$count 2>> $rlog echo " " #echo "sleep 3" sleep 3 done } Write|tee -a $wlog echo "please wait 5 seconds......" sleep 5 Read|tee -a $rlog