VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试

现在便宜的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/
VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试的更多相关文章
- Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)
[转]Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Wind ...
- Windows 性能监视器的基本指标(CPU,内存,硬盘参数)
转载:http://kms.lenovots.com/kb/article.php?id=7045 Windows 性能监视器的基本指标(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的 ...
- 一个统计 CPU 内存 硬盘 使用率的shell脚本
一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Uti ...
- centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息
1.系统 1.1版本 uname -a 能确认是64位还是32位,其它的信息不多 [root@localhost ~]# uname -a Linux localhost.localdomain 3. ...
- 性能测试---CPU内存部分
CPU内存的测试可以通过top命令来测试 ,如下是我写的bat脚本,其中的测试进程可以替换为你自己需要测试的进程. @echo offecho============================= ...
- go-web项目性能测试,CPU, 内存泄露等
go中提供了pprof包来做代码的性能监控,在两个地方有包: net/http/pprof runtime/pprof 其实net/http/pprof中只是使用runtime/pprof包来进行封装 ...
- jmeter监控linux cpu 内存 网络 IO
下载地址:http://jmeter-plugins.org/downloads/all/ PerfMon: 用来监控Server的CPU.I/O.Memory等情况 ServerAgent-2.2. ...
- 查看CPU 内存 硬盘 网络 查看进程使用的文件 uptime top ps -aux vmstat iostat iotop nload iptraf nethogs
#安装命令 yum install sysstat #包含 iostat vmstat yum install iotop yum install nload yum install iptraf ...
- java使用siger 获取服务器硬件信息(CPU 内存 网络 io等)
通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到j ...
随机推荐
- 三线SWD模式Jlink
三线SWD模式Jlink 在公司实习,部门经理让我做一个USB-CAN的适配器. 在网上找资料,找到一个开源的USB-CAN的适配器的资料. 采用的是CP2102芯片实现USB转串口.STM32作 ...
- Oracle 表空间、用户
一.表空间 临时表空间 创建临时表空间范例 CREATE TEMPORARY TABLESPACE duke_temp /* 临时表空间名称:duke_temp */ tempfile 'C:\ora ...
- UITableView 支持左右滑动(二)
原理: 用tableView其中一个cell 来展示一个 UIScrollView, 在scrollview上很像放置子tableView 注意点: 外层tableView需要实现手势代理 /* 若重 ...
- win7下使用cygwin编译VLC
win7下使用cygwin编译VLC http://kathy.blog.51cto.com/1168050/295460 2010-04-15 14:54:01 标签:编译 休闲 VLC 职场 w ...
- 使用Python的PIL模块来进行图片对比
使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...
- python2.7.13标准库文件目录操作与文件操作
标准库的中文参考文档: http://python.usyiyi.cn/translate/python_278/library/index.html 官方标准库文档:https://docs.pyt ...
- ORM模型类介绍,
所有的软件开发过程中,都会涉及到对象和关系型数据库,在用户层面和业务逻辑层面,程序员编写代码都是面向对象的,当我们对象的信息发生变化的时候,都需要将对应的信息,传到关系型数据库中.而在此之前,需要我们 ...
- 从0开始的InfiniBand硬件踩坑过程
由于科学计算实验的需求,需要使用InfiniBand做一个持久性内存全互联的分布式存储系统.其中从网卡到交换机使用Mellanox全家桶,而在Mellanox网卡与交换机的使用过程中还是遇到了不少的问 ...
- NOIP后一波总结
我的山寨较为可靠分数为305(洛谷是真的水~显然不能用啊,果断换了一组合适的数据) 据大神们估计,得奖的分数在280, 我肯定是没有啥希望了.(我旁边的lxy同学从初二开始,每次以超分数线至少60分的 ...
- python3学习笔记——数字、字符串、列表、字典、元组
什么是python解释器? python代码在解释器中运行.解释器是代码与计算机硬件之间的软件逻辑层. python的执行过程 ...