Vps性能测试脚本:一键摸清CPU磁盘网络

互联网资讯

Vps性能测试脚本:一键摸清CPU磁盘网络

2026-08-26 02:41


快速检测VPS性能,涵盖CPU、内存、磁盘、网络与下载速度测试。

Vps性能测试脚本

购买 VPS 后,很多人最关心的是:CPU 强不强、内存是否稳定、硬盘读写快不快、网络延迟高不高、带宽是否达标。单纯看商家宣传配置并不够准确,因为不同机房、不同宿主机、不同虚拟化方式都会影响实际体验。因此,使用一套 Vps性能测试脚本可以快速检测服务器综合表现,为网站部署、游戏服务器搭建、代理节点选择、数据库迁移等场景提供参考。

一、VPS 性能测试主要看哪些指标

VPS 性能测试通常包括以下几个方面:

  1. CPU 性能
    主要查看处理器型号、核心数量以及单核、多核算力。CPU 性能会影响网站动态程序、编译任务、加密解密、数据库查询等场景。

  2. 内存性能
    内存吞吐能力对高并发应用、缓存服务、数据库服务比较重要。

  3. 磁盘 I/O 性能
    包括顺序读写、随机读写、IOPS 等指标。磁盘性能会直接影响网站加载速度、数据库写入效率和日志处理速度。

  4. 网络连通性
    通过 ping 测试可以看到延迟和丢包情况。延迟越低,访问体验通常越好。

  5. 下载速度
    下载测速可以粗略判断带宽表现,但不同测速节点、不同地区结果会有差异。

二、Vps性能测试脚本功能

下面这套脚本适合常见 Linux 系统,例如 Debian、Ubuntu、CentOS、Rocky Linux、AlmaLinux 等。脚本会自动检测基础环境,并尝试安装常用测试工具,包括 sysbenchfioiperf3curl 等。

脚本主要完成以下测试:

  • 查看 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 延迟越低,访问体验通常越好;如果丢包严重,说明线路稳定性可能不足。
  • 下载速度:不同测速源结果会有差异,建议结合多个节点判断。

六、测试注意事项

  1. 磁盘测试会产生写入数据,虽然脚本默认会清理测试文件,但重要业务服务器仍建议先备份。
  2. 高负载测试可能影响网站访问,建议在业务低峰阶段执行。
  3. 不同测试工具、不同文件大小、不同节点都会影响结果,建议多次测试后取平均值。
  4. 如果 VPS 磁盘空间较小,可以适当调小 fiosize 参数。
  5. 部分商家会限制测速或屏蔽测速节点,因此网络测试结果只作为参考。

总结

Vps性能测试脚本可以帮助用户快速了解 VPS 的 CPU、内存、磁盘、网络和带宽表现。通过 sysbenchfiopingcurl 等工具,可以较全面地判断服务器是否适合自己的业务场景。测试时需要注意环境差异和结果波动,建议结合多次结果综合判断,而不是只看单次数据。


标签: VPS性能测试 CPU 磁盘I/O