Vps性能测试脚本:一键摸清CPU磁盘网络
Vps性能测试脚本:一键摸清CPU磁盘网络
2026-08-26 02:41
快速检测VPS性能,涵盖CPU、内存、磁盘、网络与下载速度测试。
Vps性能测试脚本
购买 VPS 后,很多人最关心的是:CPU 强不强、内存是否稳定、硬盘读写快不快、网络延迟高不高、带宽是否达标。单纯看商家宣传配置并不够准确,因为不同机房、不同宿主机、不同虚拟化方式都会影响实际体验。因此,使用一套 Vps性能测试脚本可以快速检测服务器综合表现,为网站部署、游戏服务器搭建、代理节点选择、数据库迁移等场景提供参考。
一、VPS 性能测试主要看哪些指标
VPS 性能测试通常包括以下几个方面:
CPU 性能
主要查看处理器型号、核心数量以及单核、多核算力。CPU 性能会影响网站动态程序、编译任务、加密解密、数据库查询等场景。内存性能
内存吞吐能力对高并发应用、缓存服务、数据库服务比较重要。磁盘 I/O 性能
包括顺序读写、随机读写、IOPS 等指标。磁盘性能会直接影响网站加载速度、数据库写入效率和日志处理速度。网络连通性
通过 ping 测试可以看到延迟和丢包情况。延迟越低,访问体验通常越好。下载速度
下载测速可以粗略判断带宽表现,但不同测速节点、不同地区结果会有差异。二、Vps性能测试脚本功能
下面这套脚本适合常见 Linux 系统,例如 Debian、Ubuntu、CentOS、Rocky Linux、AlmaLinux 等。脚本会自动检测基础环境,并尝试安装常用测试工具,包括
sysbench、fio、iperf3、curl等。脚本主要完成以下测试:
- 查看 CPU、内存、磁盘、内核信息;
- 使用
sysbench测试 CPU 和内存性能; - 使用
fio测试磁盘顺序写入和随机读写; - 使用
ping测试网络连通性; - 使用
curl测试下载速度。
三、完整 Vps性能测试脚本
#!/usr/bin/env bash
# Vps性能测试脚本
set -euo pipefail
BLUE='\033[0;34m'
NC='\033[0m'
TEST_DIR="${TEST_DIR:-/root/vps-perf-test}"
print_title() {
echo -e "\n${BLUE}==> $1${NC}"
}
install_pkg() {
if command -v apt-get >/dev/null 2>&1; then
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y curl sysbench fio iperf3
elif command -v yum >/dev/null 2>&1; then
yum install -y epel-release || true
yum install -y curl sysbench fio iperf3
elif command -v dnf >/dev/null 2>&1; then
dnf install -y epel-release || true
dnf install -y curl sysbench fio iperf3
else
echo "未识别包管理器,请手动安装 curl sysbench fio iperf3"
exit 1
fi
}
if [ "$(id -u)" -ne 0 ]; then
echo "建议使用 root 用户执行本脚本。"
fi
for cmd in curl sysbench fio; do
if ! command -v "$cmd" >/dev/null 2>&1; then
install_pkg
fi
done
mkdir -p "$TEST_DIR"
trap 'rm -rf "$TEST_DIR"' EXIT
print_title "基础信息"
echo "CPU: $(grep -m1 'model name' /proc/cpuinfo | cut -d: -f2 | xargs)"
echo "核心数: $(nproc)"
echo "内存:"
free -h
echo "磁盘:"
df -hT /
echo "内核: $(uname -r)"
print_title "CPU 性能测试"
sysbench cpu --cpu-max-prime=20000 --threads=1 run
sysbench cpu --cpu-max-prime=20000 --threads="$(nproc)" run
print_title "内存性能测试"
sysbench memory --memory-block-size=1M --memory-total-size=512M run
print_title "磁盘顺序写入测试"
fio --name=seqwrite \
--directory="$TEST_DIR" \
--rw=write \
--bs=1M \
--size=1G \
--numjobs=1 \
--direct=1 \
--group_reporting \
--output-format=json
print_title "磁盘随机 4K 读写测试"
fio --name=randrw \
--directory="$TEST_DIR" \
--rw=randrw \
--rwmixread=70 \
--bs=4k \
--size=512M \
--numjobs=4 \
--iodepth=32 \
--direct=1 \
--ioengine=libaio \
--group_reporting \
--output-format=json
print_title "网络连通性测试"
for ip in 1.1.1.1 8.8.8.8 223.5.5.5; do
echo "ping $ip"
ping -c 4 "$ip" || true
done
print_title "下载速度测试"
curl -L --max-time 20 -o /dev/null \
-w "speed=%{speed_download} byte/s\n" \
"https://speed.cloudflare.com/__down?bytes=50000000" || true
curl -L --max-time 20 -o /dev/null \
-w "speed=%{speed_download} byte/s\n" \
"https://cachefly.cachefly.net/100mb.test" || true
print_title "测试完成"
echo "临时测试文件已清理。如需保留测试文件,可自定义 TEST_DIR 目录。"
四、使用方法
将脚本保存为 vpsbench.sh:
nano vpsbench.sh
粘贴脚本内容后保存,然后赋予执行权限:
chmod +x vpsbench.sh
执行脚本:
./vpsbench.sh
如果你希望把测试文件保存到指定目录,可以这样执行:
TEST_DIR=/root/test ./vpsbench.sh
五、测试结果如何看
- CPU 测试:重点看
events/sec,数值越高,说明 CPU 计算能力越强。 - 内存测试:重点看吞吐量,数值越高,内存读写表现越好。
- 磁盘测试:重点看带宽和 IOPS。顺序写入适合大文件读写,随机 4K 更适合数据库、小文件读写场景。
- 网络测试:ping 延迟越低,访问体验通常越好;如果丢包严重,说明线路稳定性可能不足。
- 下载速度:不同测速源结果会有差异,建议结合多个节点判断。
六、测试注意事项
- 磁盘测试会产生写入数据,虽然脚本默认会清理测试文件,但重要业务服务器仍建议先备份。
- 高负载测试可能影响网站访问,建议在业务低峰阶段执行。
- 不同测试工具、不同文件大小、不同节点都会影响结果,建议多次测试后取平均值。
- 如果 VPS 磁盘空间较小,可以适当调小
fio的size参数。 - 部分商家会限制测速或屏蔽测速节点,因此网络测试结果只作为参考。
总结
Vps性能测试脚本可以帮助用户快速了解 VPS 的 CPU、内存、磁盘、网络和带宽表现。通过 sysbench、fio、ping 和 curl 等工具,可以较全面地判断服务器是否适合自己的业务场景。测试时需要注意环境差异和结果波动,建议结合多次结果综合判断,而不是只看单次数据。