Linux 服务器/VPS 性能和带宽测试脚本汇总

简介: Linux 服务器/VPS 性能和带宽测试脚本汇总

这年头VPS主机太多了,好多“二手”VPS开始横行其道,让人真假莫辨,想要购买某一个VPS主机,一般是先要看看这家的VPS主机的评测数据。
需要提醒的是,关于IO读写速度的测试,根据以往的经验,像谷歌云服务器、亚马逊服务器等,IO读写速度都比较低,而SSD在IO方面表现出色。另外,国外的VPS主机的速度很大程度上取决于线路的好坏,并且晚上和白天的测试速度会差别比较大。

高性价比和便宜的VPS/云服务器推荐:https://blog.zeruns.tech/archives/383.html

下面我汇总了几个比较好用的测试脚本。

lemonbench

lemonbench提供比superbench更详细的测试,除了磁盘io和网速测试外,它还提供vps的cpu跑分,内存读写速度,回程路由追踪,流媒体解锁情况等测试,测试完之后还能生成分享链接 例子,可以直接在浏览器上查看或是分享给他人。该脚本有两种模式。

使用curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast进行快速测试,该模式下测试速度较快,但是结果没那么详细,部分测试的次数较少(如磁盘io测试),测速节点较少,路由追踪也不会测那么多个节点。使用curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s full进行测试时,会进行更加详细全面的测试,测试次数会更多,使用的节点也更多,当然耗时会更长。

curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast
curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s full

Superspeed.sh

一键测试服务器到国内的速度脚本Superspeed.sh :

wget https://raw.githubusercontent.com/oooldking/script/master/superspeed.sh
chmod +x superspeed.sh
sudo ./superspeed.sh

SuperBench.sh

一键检测VPS的CPU、内存、负载、IO读写、机房带宽和服务器类型等脚本SuperBench.sh:

wget -N --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh
sudo bash superbench.sh
#或者
curl -Lso- https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash

Zench

Zench可以看作是Bench.sh 和 SuperBench的结合版本,加入 Ping 以及 路由测试 功能,会生成测评报告,可以很方便地分享给其他朋友看自己的测评数据 :

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh
sudo bash ZBench-CN.sh
#项目:https://github.com/FunctionClub/ZBench

speedtest-cli

一键带宽检测工具:speedtest-cli

安装命令:

sudo apt-get update
apt-get install python-pip
sudo pip install speedtest-cli

#CentOS
yum update
yum -y install epel-release
yum install python-pip
pip install speedtest-cli

使用方法:

speedtest-cli
#后面也可以接以下参数:
-h, --help show this help message and exit 
--share 分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片。 
--simple Suppress verbose output, only show basic information 
--list 根据距离显示speedtest.net的测试服务器列表。 
--server=SERVER 指定列表中id的服务器来做测试。 
--mini=MINI URL of the Speedtest Mini server 
--source=SOURCE Source ip address to bind to 
--version Show the version number and exit

unixbench

VPS性能综合跑分工具unixbench:
Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。最新版本UnixBench5.1.3,包含system和graphic测试,如果你需要测试graphic,则需要修改Makefile。
不要注释掉 GRAPHIC_TESTS = defined ,同时需要系统提供 x11perf 命令gl_glibs库。本文脚本注释了关于graphic的测试项(大多数VPS都是没有显卡或者是集显,所以图像性能无需测试),运行10-30分钟后(根据CPU内核数量,运算时间不等)得出分数,越高越好。

UnixBench性能跑分受版本影响较大。UnixBench目前有不同的版本,而网上不少的版本也是经过人工修改过的,可能测试的项目不同导致的结果也会不同。大家在测试时记得找一个参照对比。

yum -y install wget screen      #for CentOS/Redhat
# apt-get -y install wget screen       #for Debian/Ubuntu
screen -S zeruns      #如果网路出现中断,可以执行命令`screen -R zeruns`重新连接测试窗口
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
#备用   wget --no-check-certificate https://github.com/freehao123/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)。

Serverreview

Serverreview-benchmark综合评测工具

这是一个老外写的VPS主机综合评测工具,主要评测的项目有VPS主机磁盘IO、内存读写、CPU性能以及Benchmark性能,还有美国、欧洲、亚洲等不同节点的下载速度。主页:https://github.com/sayem314/serverreview-benchmark

脚本使用使用方法:

yum install curl -y
curl -LsO https://raw.githubusercontent.com/sayem314/serverreview-benchmark/master/bench.sh; chmod +x bench.sh && ./bench.sh -a share

mPing

一键测试回程Ping值工具:mPing

wget https://raw.githubusercontent.com/helloxz/mping/master/mping.sh
bash mping.sh

参数说明:

x% packet loss: 丢包率
min: 最低延迟
avg: 平均延迟
max: 最高延迟
mdev: 平均偏差

LemonBench

LemonBench 工具(别名LBench、柠檬Bench),是一款针对Linux服务器设计的服务器性能测试工具。通过综合测试,可以快速评估服务器的综合性能,为使用者提供服务器硬件配置信息。

#LemonBench 国内版:
curl -fsL https://ilemonra.in/LemonBench | sudo bash -s fast
#LemonBench 国际版:
curl -fsL https://ilemonra.in/LemonBenchIntl | sudo bash -s fast

推荐阅读

目录
相关文章
|
7天前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
27 6
|
5天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
7天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
23 7
|
7天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
3天前
|
网络协议 安全 Linux
Linux 上设置自己的公共时间服务器
Linux 上设置自己的公共时间服务器
12 0
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
237 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
247 3
快速上手|HTTP 接口功能自动化测试