日常购买 VPS,难免会碰到性能或网络较差的 VPS,使用一键测试脚本跑一下可以综合大概测试 VPS 基础信息、CPU性能、内存性能、硬盘IO、带宽和网络延迟等项目,虽然不是百分百准确,但是可以作为参考对比。
Linux 性能测试 UnixBench 一键脚本
来源:秋水逸冰
UnixBench 是一个类 Unix 系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试 Linux 系统主机的性能。Unixbench 主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。
最新版本 UnixBench5.1.3,包含 system 和 graphic 测试,如果你需要测试 graphic,则需要修改 Makefile,不要注释掉「GRAPHIC_TESTS = defined」,同时需要系统提供 x11perf 命令 gl_glibs 库。
下面脚本使用最新版 UnixBench5.1.3 来测试,注释了关于 graphic 的测试项(大多数VPS都是没有显卡或者是集显,所以图像性能无需测试),运行 10-30 分钟后(根据CPU内核数量,运算时间不等)得出分数,越高越好。
UnixBench 一键脚本测试方法
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh && chmod +x unixbench.sh && ./unixbench.sh
UnixBench 一键脚本测试项目
Dhrystone 2 using register variables
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)。
一些 Linux VPS 性能测试 UnixBench 结果参考:https://cyhour.com/1583/
一键测试脚本 bench.sh
作者:秋水逸冰
一键测试脚本 bench.sh 已经几乎全面适用于各种 Linux 发行版的网络(下行)和 IO 测试。bench.sh 功能:
- 显示当前测试的各种系统信息;
- 取自世界多处的知名数据中心的测试点,下载测试比较全面;
- 支持 IPv6 下载测速;
- IO 测试三次,并显示平均值。
再配合 unixbench.sh 脚本测试,基本上可全面测试 VPS 性能。
bench.sh 使用方法
wget -qO- bench.sh | bash
curl -Lso- bench.sh | bash
wget -qO- 86.re/bench.sh | bash
curl -so- 86.re/bench.sh | bash
备注:上面4行命令任选其一执行即可。bench.sh 既是脚本名,同时又是域名。所以不要怀疑我写错了或者你看错了。
一些 VPS bench.sh 评测数据
下面是 Vultr High Frequency VPS $6/月 韩国首尔区 VPS 测试数据:
SuperBench.sh 一键测试服务器的基本参数
作者:老鬼 oldking
这个脚本是在基于秋水大佬脚本的基础上,加入了独服通电时间,服务器虚拟化架构等内容,SuperBench.sh 特点:
- 改进了显示的模式,基本参数添加了颜色,方面区分与查找。
- I/O测试,更改了原来默认的测试的内容,采用小文件,中等文件,大文件,分别测试IO性能,然后取平均值。
- 速度测试替换成了 Superspeed 里面的测试,第一个默认节点是,Speedtest 默认,其他分别测试到中国电信,联通,移动,各三个不同地区的速度。
使用方法(命令任选其一即可):
wget -qO- git.io/superbench.sh | bash
wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
curl -Lso- -no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
注意:貌似该脚本目前需要并且只支持 Python 2,而 CentOS 8 默认是 Python 3,需要安装 Python 2 并且设置为系统默认 Python,否则会有错误提示。
sudo dnf install python2 ## CentOS 8 安装 Python 2
sudo alternatives --set python /usr/bin/python2 ## CentOS 8 设置 Python 2 为系统默认 Python 版本(Unversioned Python命令)
下面是 Vultr High Frequency VPS $6/月 韩国首尔区机器 VPS SuperBench.sh 测试数据:
SuperBench.sh 下载地址:Github · 备用下载
LemonBench.sh
LemonBench(别名 LBench、柠檬 Bench),是一款针对 Linux 服务器设计的服务器性能测试工具。通过综合测试,可以快速评估服务器的综合性能。特点:
- Netflix 等流媒体解锁检测
- 服务器基础信息(CPU信息/内存信息/Swap信息/磁盘空间信息等)
- Speedtest网速测试 (本地到最近源及国内各地域不同线路的网速)
- 磁盘测试(4K块/1M块 直接写入测试)
- 路由追踪测试(追踪到国内和海外不同线路的路由信息)
- Spoofer测试(获取详细网络信息,快速判断服务器接入线路)
使用,执行下面代码即可:
curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast
演示结果比较长,点击查看完整结果:截图(Vultr High Frequency VPS $6/月 韩国首尔区机器,测试完成会生成在线报告)
最后感谢各位大佬出品一键脚本。
Comments:0