现在便宜的VPS主机越来越多了,一些美国的VPS主机甚至给出1美元一月的VPS,堪比虚拟主机还要便宜,巨大的价格优势吸引不少人购买和使用,而近些年来国内的主机商也开始意识到便宜的VPS对草根站长的诱惑力,纷纷推出了低价VPS,其中突出的代表就是阿里云。
所谓“一分钱一分货”,把VPS当成虚拟主机来卖的如果不是做慈善事业就是超售严重,买回来的VPS到底值不值这个价钱,我们一般需要对VPS主机进行一番性能测试,涉及的项目主要有CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试等等。
本篇文章就来分享一下如何对一个VPS主机进行CPU内存,硬盘IO读写,带宽速度等项目测试,像UnixBench和压力测试则可以综合反映一个VPS的性能水平,方便大家对照参考。
VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试
一、VPS性能测试:CPU物理个数、内核、超线程、多核心
1、登录VPS界面,执行:
cat /proc/cpuinfo
就会显示出VPS主机的CPU详细参数,如内核、频率、型号等等,以下是我的阿里云服务器的VPS主机CPU:
2、主要参数physical_id表示物理CPU个数,cpu cores是内核数,Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。
3、如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。
4、如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。
5、直接查看逻辑CPU的个数,执行:
cat /proc/cpuinfo |grep ‘physical id’ |sort |uniq
6、直接查看CPU的型号,执行:
cat /proc/cpuinfo |grep ‘model name’ |sort |uniq
7、单个CPU的内核数,执行:
cat /proc/cpuinfo |grep ‘cpu cores’ |sort |uniq
8、总的CPU线程数,执行:
cat /proc/cpuinfo |grep ‘processor’
9、上面我的阿里云服务器属于1核1CPU的,这是我前几天申请的Host1plus免费VPS主机的VPS CPU信息,多线程,多内核的。
二、VPS性能测试:内存大小、交换空间、高速缓存、实际使用内存
1、要想查看购买的VPS主机的内存信息,执行:
cat /proc/meminfo
主要是看内存大小、交换空间、高速缓存。
2、VPS主机实际使用内存大小。Linux管理内存的机制是这样的:无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。
3、即Linux会利用空闲的物理内存,划分出一部份空间,做为 cache 和 buffers ,以此提高数据访问性能。cache主要用来减少对磁盘的I/O操作。所以我们经常能够看到一个总内存为8GB的Linux VPS测试出来占用的内存也是8GB。
4、那么如何才能知道Linux真正占用的内存是多少呢?执行命令:
free –m
5、计算VPS真实的使用内存方法是:Total-Free-Cached=真实使用内存,即1536-1313-208=15,表示我的VPS真实使用的内存是15MB。
三、VPS性能测试:磁盘IO读写速度、SSD硬盘速度测试
1、磁盘IO,即输入/输出(Input/Output),这是测试磁盘性能一个重要指标,一些便宜的VPS主机为了降低成本,以大量的低性能的硬盘来充当服务器,导致VPS主机因为IO差而拖了整个主机性能的后腿。
2、测试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
3、conv=fdatasync与oflag=dsync的区别在于:sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。
4、而fsync函数只对由文件描述符filedes指定的单一文件起作用,并且等待写磁盘操作结束,然后返回。这是我的阿里云VPS的硬盘IO测试结果。
5、这是Host1plus免费VPS主机的硬盘IO,从测试结果对比可以看出:阿里云的IO速度确实不行,这也怪不得阿里云可以卖得这么便宜。
6、SSD硬盘速度测试。对于VPS采用SSD硬盘的,为了更加真实的反映出SSD硬盘的性能,在控制端命令中执行以下命令:
yum install hdparm -y fdisk -l hdparm -t /dev/hda
7、第一句是安装hdparm,第二句是找出对应磁盘的驱动号,第三句就是利用hdparm在指定的硬盘上测试硬盘的读写速度。
8、VPS硬盘IO负载测试。使用top命令查看%wa数据,表示IO等待所占用的CPU时间的百分比,高过30%时IO压力可能比较大。
9、另外一条命令是:iostat -x 1 10,如果没有执行安装:yum install sysstat,主要查看%util 和%idle ,如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,idle小于70% IO压力就较大了,一般读取速度有较多的wait。(点击放大)
四、VPS速度测试:上传下载速度、服务器带宽、Ping响应时间
1、VPS的速度好坏经常是我们选择某一个VPS商家的重要参考指标,对于国外的VPS主机我们可以执行以下命令来测试VPS入口带宽是多少。
wget https://cachefly.cachefly.net/100mb.test
2、而对于国内的VPS主机,或者想要测试国外的VPS连接国内的速度,可以用Wget的方法下载国内服务器上的一个文件,最好选择那些没有使用海外CDN服务器的,这样数据更准确。
3、而测试VPS主机的出口速度,则可以使用FTP或者Winscp软件从服务器下载一个文件到本地,可以直观地看到速度。
4、为了避免因本地网络环境影响了VPS主机下载速度,有条件的朋友可以找一个国内的VPS主机来Wget被测试VPS主机上的文件,像国内的免费VPS服务器Windows Azure就可以了。
5、这里还有一个测试VPS主机在世界各地的下载速度的一键脚本,执行命令:
wget freevps.us/downloads/bench.sh -O - -o /dev/null | bash
6、这是测试VPS主机入口与出口的带宽一键脚本,执行命令:
wget https://github.com/sivel/speedtest-cli/raw/master/speedtest_cli.py python speedtest_cli.py --share
7、VPS速度测试主机另一个指标就是Ping的响应时间,要测试Ping,首先要保证VPS开机运行,同时防火墙允许Ping。为了得到全面的Ping结果,可以使用在线站长工具,这些工作一般都提供了电信、联通、移动等不同的网络环境测试结果。
五、VPS性能综合测试:UnixBench跑分工具测试
1、UnixBench是一款开源的测试 unix 系统基本性能的工具,是比较通用的测试VPS性能的工具,Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。
2、UnixBench测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器,测试系统各个方面一系列的性能,然后将每个测试结果和一个基准值进行比较,得到一个索引值,所有测试项目的索引值结合在一起形成一个测试分数值。
3、另外,unixbench版本不同也去导致测试得分的结果有很大的差别,大家如果要使用UnixBench来测试VPS的性能的话,最好是使用同一个版本的UnixBench。UnixBench测试执行以下命令:
wget https://teddysun.com/wp-content/uploads/unixbench.sh chmod +x unixbench.sh ./unixbench.sh
4、测试时间可能会比较长,请耐心等待。最后UnixBench会详细列出各个测试项目的得分情况,以及VPS性能的综合跑分结果。
六、VPS性能综合测试:服务器压力测试,VPS系统负载测试
1、可能有的VPS主机使用性能测评工具得出的结果很优秀,但是最终运用到实际生产时却发现VPS主机根本无法承受理论上应该达到的流量压力,这时我们就不得不要怀疑VPS商是不是对VPS主机的参数进行了“篡改”了,例如CPU、内存、硬盘等等,这些数据都是可以人工修改的。
2、在网站服务器压力Web性能测试中有提到常用的三个Web服务压力测试工具:Apache Bench,Webbench,http_load,这也是大家使用得比较多的负载测试软件,教程:网站服务器压力Web性能测试:Apache Bench,Webbench,http_load安装使用。
3、而Pylot,是一款适合在Windows电脑上运行的服务器压力测试程序,它可以运行HTTP负载测试,对于制定容量计划、确定基准点、分析系统瓶颈以及系统调优都非常有用,教程:Pylot网站Web服务器性能和负载压力测试-适用Windows可绘制图表。
七、VPS性能测试方法小结
1、为了能够得到更为准确和详细的有关VPS主机性能测试数据,我们应该多角度、全方位地运行多种VPS性能测试工具来进行检测,同时也要记得排除因本地网络环境而造成的数据结果的错误。
2、VPS主机性能跑分工具不能当成唯一的评判VPS综合性能的对比指标,现在很多的云主机和云空间因为架构的不同,使用UnixBench测试会不准确,更准确的应该是在同等条件下服务器能够承受的流量压力。
文章出自:免费资源部落 https://www.freehao123.com/