当大家想购买 VPS 的时候(这里只说 Linux 的 VPS ,Windows 的要测试大家应该更熟悉些),免不了要纠结下选哪家的好,一般的主机商都会给你测试下载速度的文件链接和用于 Ping 等线路相关用途的 IP 来方便你测试,只不过要说到 VPS 本身的测试,大多都是没有的,或者只给了你数据,没有测试渠道。这个时候想要知道自己买的 VPS 好不好,当然就得自己动手测试一番了。
以下就给大家分享两个用于测试的脚本,方便大家能够直观的了解 VPS 性能和配置。
转载信息:
转载博客:秋水逸冰
UnixBench 跑分转载自:Linux性能测试UnixBench一键脚本
网速及 IO 测试转载自:一键测试脚本bench.sh
- UnixBench 跑分测试
该脚本来自于秋水逸冰的博客分享,链接在这里:https://teddysun.com/245.html 下面部分内容和简介等信息复制于原博主的博客,排版有所修改以适应自己的博客,并有部分自己加入的内容。
简介:
UnixBench 是一个类 Unix 系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试 Linux 系统主机的性能。Unixbench 的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C 库等系统基准性能提供测试数据。
测试方法:
完整复制以下代码,登录上 VPS 的 SSH 之后粘贴并执行。
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh chmod +x unixbench.sh ./unixbench.sh
测试项目:
- Dhrystone 2 using register variables:此项用于测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(wait states)、整数数据类型(integer data types)的影响。
- Double-Precision Whetstone:这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。
- Execl Throughput:此测试考察每秒钟可以执行的 execl 系统调用的次数。 execl 系统调用是 exec 函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。
- File copy:测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默认是 10s)内的文件 read、write、copy 操作次数。
- Pipe Throughput:管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。
- Pipe-based Context Switching:这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。
- Process Creation:测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。
- System Call Overhead:测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。
- Shell Scripts:测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8。(我在测试时取 1, 8)。这个脚本对一个数据文件进行一系列的变形操作(transformation)。
测试过程和结果界面:
这个我就借用一下昨天写 Vultr 测试里的截图了。
- 网速及 IO 测试
该脚本来自于秋水逸冰的博客分享,链接在这里:https://teddysun.com/444.html 下面部分内容和简介等信息复制于原博主的博客,排版有所修改以适应自己的博客,并有部分自己加入的内容。
一般网速测试都是大家本地到 VPS 的测速,而这个脚本里则能测试 VPS 到世界各地主机房的速度。
该脚本可以提供一下信息:
- 显示当前测试的各种系统信息
- 取自世界多处的知名数据中心的测试点进行下载速度测试
- 同时提供 IPv4 和 IPv6 下的网速测试(如果支持的话)
- 对硬盘 IO 进行三次测试,得出平均值
测试方法:
请完整复制以下命令,SSH 登录到 VPS 粘贴并执行。
命令1:
wget -qO- bench.sh | bash
或者:
curl -Lso- bench.sh | bash
命令2:
wget -qO- 86.re/bench.sh | bash
或者:
curl -so- 86.re/bench.sh | bash
以上命令不必一个一个都试一遍,只需选择一个执行,如果可以开始测试便不必再执行其它命令了。
脚本下载地址:
https://github.com/teddysun/across/blob/master/bench.sh
测试界面:
依旧选择前面写的 Vultr 测试的截图,供大家参考:
注:图片仅供参考,细心的应该发现了 Ipv4 和 IPv6 测试存在一点问题,暂不清楚原因。
因使用脚本测试比自己动手输命令比较方便,测试结果也比较直观,所以博主目前是用着这两个脚本来测试手上的 VPS 的,如果大家有此需求也可以试试。至于其他的如路由跟踪和 VPS 线路速度测试则有很多选择,也更加方便,这里就不提了,以后看看能不能给大家分享下有关的测试工具。