VPS主机性能测试

2015年7月29日17:45:17 评论 7,085

便宜的VPS主机越来越多了,买回来的VPS主机到底值不值,我们一般需要对VPS主机进行一番性能测试,涉及的项目主要有CPU内存,硬盘IO读写,带宽速度,UnixBench等等。下文主要是针对Linux系统的测试

一、CPU测试

登陆VPS系统,执行命令cat /proc/cpuinfo,就会显示出VPS主机的CPU详细参数,如内核、频率、型号等等。

主要参数physical_id表示物理CPU个数,cpu cores是内核数,Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术;如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器;如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。

更详细的命令:

# cat /proc/cpuinfo |grep 'physical id' |sort |uniq   ##查看逻辑CPU的个数
# cat /proc/cpuinfo |grep 'model name' |sort |uniq   ##查看CPU的型号
# cat /proc/cpuinfo |grep 'cpu cores' |sort |uniq   ##单个CPU的内核数
# cat /proc/cpuinfo |grep 'processor'  ##总的CPU线程数

二、内存测试

执行命令:cat /proc/meminfo,就会显示出VPS主机的内存大小、交换空间、高速缓存等。

Linux会利用空闲的物理内存,划分出一部份空间,做为 cache 和 buffers ,以此提高数据访问性能。cache主要用来减少对磁盘的I/O操作。计算VPS真实的使用内存方法是:Total-Free-Cached=真实使用内存

# free –m  ##查看真正占用的内存

三、磁盘测试

1. 性能测试

测试VPS主机磁盘IO的性能可以执行以下两个命令:

# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync 
# dd if=/dev/zero of=test bs=8k count=256k conv=fdatasync

conv=fdatasync与oflag=dsync的区别在于:sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束;而fsync函数只对由文件描述符filedes指定的单一文件起作用,并且等待写磁盘操作结束,然后返回。

SSD硬盘速度测试。对于VPS采用SSD硬盘的,为了更加真实的反映出SSD硬盘的性能,在控制端命令中执行以下命令:

# yum install hdparm -y   ##安装hdparm
# fdisk -l    ##找出对应磁盘的驱动号
# hdparm -t /dev/hda   ##利用hdparm在指定磁盘上进行测试

2. IO测试

使用top命令查看%wa数据,表示IO等待所占用的CPU时间的百分比,高过30%时IO压力可能比较大;

另外一条命令是:iostat -x 1 10,如果没有安装执行:yum install sysstat,主要查看%util 和%idle ,如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,idle小于70% IO压力就较大了,一般读取速度有较多的wait。

四、速度测试

对于国外的VPS主机我们可以执行以下命令来测试VPS入口带宽

# wget http://cachefly.cachefly.net/100mb.test

也可以运行下面脚本测试VPS主机在世界各地的下载速度:

# wget http://7xkabh.com1.z0.glb.clouddn.com/bench.sh -O - -o /dev/null | bash

测试VPS主机入口与出口的带宽一键脚本:

# wget http://7xkabh.com1.z0.glb.clouddn.com/speedtest_cli.py   ##下载脚本
# python speedtest_cli.py --share   ##运行脚本

五、综合测试

UnixBench是一款开源的测试 unix 系统基本性能的工具,是比较通用的测试VPS性能的工具,Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

UnixBench测试执行以下命令:(测试时间会比较长,请耐心等待)

# wget http://7xkabh.com1.z0.glb.clouddn.com/unsubscribe.sh   ##下载脚本
# chmod +x unixbench.sh   ##赋予执行权限
# ./unixbench.sh   ##执行脚本
weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: