一键测试脚本bench.sh

技术 秋水逸冰 429771浏览 99评论

经过几个版本的迭代,一键测试脚本 bench.sh 已经几乎适用于各个 Linux 发行版的网络和 IO 测试。
并将测试结果以较为美观的方式显示出来。

总结一下 bench.sh 的特点:

1、显示各种系统信息;
2、取自 Speedtest 世界多处的数据中心的测试点,网络测试比较全面;
3、支持 IPv6 下载测速;
4、IO 测试(顺序写入 1GB 数据)三次,并显示其平均值。

再配合 unixbench.sh 脚本测试,即可全面测试 VPS 的性能。

使用方法:
命令:

wget -qO- bench.sh | bash

或者

curl -Lso- bench.sh | bash

备注:
bench.sh 既是脚本名,同时又是域名。所以不要怀疑我写错了或者你看错了。

下载地址:
https://github.com/teddysun/across/blob/master/bench.sh

更新日志

2023 年 10 月 15 日更新:
1. 升级 speedtest-cli 的版本到 1.2.0;
2. 使用 shfmt 格式(美)化 bash script;
3. 新增 ✓ 和 ✗ 的 Emoji 颜文字(絵文字);
4. 修正 CPU 型号中包含字符串 processor 导致的内核数量计算错误,比如有的虚拟机会把 CPU 名称显示为 Common KVM processor;

2023 年 06 月 10 日更新:
1. 新增是否支持 IPv4 和 IPv6 的判断并显示出 Online 或 Offline;

2022 年 02 月 22 日更新:
1. 新增 CPU 是否支持 AES-NI 和 VM-x/AMD-V 的判断;
2. 改进了计算硬盘空间的算法;
3. 改进了计算 RAM 和 Swap 的算法;
4. 改善时间戳显示方式,加入时区显示;

2022 年 01 月 01 日更新:
1. 优化脚本逻辑,美化显示方式;
2. 升级 speedtest-cli 的版本到 1.1.1;
3. 支持 arm64 (aarch64) 以及 armv7l (armhf) 架构,如下图;
・arm64 (aarch64)

・armv7l (armhf)

4. 优化 Speedtest 提供的测速服务器列表。
・x86_64

2020 年 07 月 29 日更新:
1. 修改:测速为 Speedtest 提供的,区分上传下载,更实用;
2. 增加:TCP Congestion Control;虚拟化方式;IP 信息等。

下图所示的是我的 Vultr 的评测数据:

2018 年 01 月 07 日更新:
修改:显示信息的颜色,分门别类,更容易区分。

下图所示的是我的 Kimsufi KS3C 百兆独服的评测数据:

转载请注明:秋水逸冰 » 一键测试脚本bench.sh

发表我的评论
取消评论

请输入正确答案后提交评论 *超出时限。 请再次填写验证码。

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (99)

  1. 不是上行才意味着VPS 出口速度吗?出口速度才代表网站速度吧
    freezone7年前(2018-01-18)回复
  2. 请问: Download Speed是VPS从上面节点下载的速度,还是这些节点从VPS下载的速度呢? 谢谢秋水!
    船头尺7年前(2018-01-17)回复
    • 这种请自行安装 speedtest-cli 命令来进行测试即可。
      秋水逸冰7年前(2018-01-17)回复
  3. CacheFly 是什么意思?表示连接的哪台机器?
    jasonchen7年前(2017-12-24)回复
  4. Ubuntu 17.10 (and maybe 17.04) appear to be using a unified ping command. If IPv6 is available it defaults to that for the IP used and causes the script to output the wrong address. I modified the commands on my end to allow it to show correctly but you may want to do it differently Use ping for both IPv4 and IPv6 (don't bother with ping6 -- it's just a symlink now) tests and force IPv4 or IPv6 by using -4 or -6 respectively. I do not assume it will work on older versions of Ubuntu or even other distros so you may want to do a sanity check first.
    Robert7年前(2017-11-17)回复
  5. CPU model : Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz Number of cores : 1 CPU frequency : 800.000 MHz Total size of Disk : 5.8 GB (0.6 GB Used) Total amount of Mem : 512 MB (36 MB Used) Total amount of Swap : 1024 MB (7 MB Used) System uptime : 0 days, 23 hour 51 min Load average : 0.02, 0.02, 0.00 OS : CentOS 6.7 Arch : x86_64 (64 Bit) Kernel : 2.6.32-042stab112.15 ---------------------------------------------------------------------- I/O speed(1st run) : bash: line 74: 15450 Terminated LANG=C dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync I/O speed(2nd run) : 170 MB/s I/O speed(3rd run) : 736 MB/s awk: BEGIN{print bash: + 170 + 736} awk: ^ syntax error awk: BEGIN{printf "%.1f", / 3} awk: ^ unterminated regexp awk: cmd. line:1: BEGIN{printf "%.1f", / 3} awk: cmd. line:1: ^ unexpected newline or end of string Average I/O speed : MB/s ---------------------------------------------------------------------- Node Name IPv4 address Download Speed CacheFly 205.234.175.175 7.75MB/s Linode, Tokyo, JP 106.187.96.148 3.39MB/s Linode, Singapore, SG 139.162.23.4 4.60MB/s Linode, London, UK 176.58.107.39 5.31MB/s Linode, Frankfurt, DE 139.162.130.8 5.08MB/s Linode, Fremont, CA 50.116.14.9 6.32MB/s Softlayer, Dallas, TX 173.192.68.18 6.96MB/s Softlayer, Seattle, WA 67.228.112.250 6.75MB/s Softlayer, Frankfurt, DE 159.122.69.4 4.01MB/s Softlayer, Singapore, SG 119.81.28.170 5.18MB/s Softlayer, HongKong, CN 119.81.130.170 3.81MB/s ---------------------------------------------------------------------- Node Name IPv6 address Download Speed Linode, Atlanta, GA 2600:3c02::4b 337KB/s Linode, Dallas, TX 2600:3c00::4b 571KB/s Linode, Newark, NJ 2600:3c03::4b 310KB/s IPV6这个太慢实在是测不了 请问一下我这个VPS是不是还是不续费为好........
    请叫我老虎君7年前(2017-10-13)回复
  6. 楼主linode日本二号机房和美国机房怎么选啊
    宋鑫7年前(2017-09-19)回复
    • 这两个机房都有测试IP的,网上搜一下,找到后,ping,选最快的那个
      秋水逸冰7年前(2017-09-19)回复
  7. 跑了 Bench.sh 但是很多次都只显示主机信息,没有IO和Network的。。奇怪了?
    cyrilk8年前(2017-05-13)回复
  8. 心疼自己一秒...迷之顺利地用大佬的脚本搭了服务,然后顺手测了一波速,恩,几十兆每秒很满意.....帅不过五秒之后,太快了....过度使用带宽被停用了...../哭脸
    bc8年前(2017-05-05)回复
  9. 大神,能不能加入 unixbench 的一些跑分特性呢?
    ghoul8年前(2017-05-04)回复
    • 是的,我还需要服务器上的端口扫描功能
      lumira2年前(2022-05-31)回复
  10. 大佬问个问题,wget -qO- 不能是-qO 吗?为何要在-qO后面再加一个- 有什么作用吗?
    zvv8年前(2017-05-03)回复
  11. vultr的vps,v6测试速度的时候一直卡着。
    loukky8年前(2017-02-22)回复
  12. 大神能不能加上测试上传,毕竟服务器最重要得还是上传嘛
    anadano8年前(2017-02-10)回复
  13. 对硬盘非常小(1GB)的VPS不友好,盼修复 http://pastebin.com/E5u4MAi1
    PS8年前(2017-01-29)回复
  14. 求大神教我怎么改你这个脚本 我想测试服务器到本地电信测试服务器的速度 http://118.122.39.26:8090/download/300.data
    omg8年前(2016-12-27)回复
  15. 为什么浏览器访问bench.sh 会跳转到https , curl 和wget 会跳转到86.re/bench.sh ?
    Remember8年前(2016-12-01)回复
    • 这是因为,在 Nginx 的配置里对 header(User-Agent) 进行了分类的判断。
      秋水逸冰8年前(2016-12-01)回复