VPS 性能基准测试与优化完整指南

新买的 VPS 性能如何?是否达到预期?本教程介绍完整的 VPS 性能测试方法和优化技巧,帮你全面了解服务器性能并做出针对性优化。

一、为什么要做性能测试

测试目的:

  • 验证 VPS 配置是否达标
  • 发现性能瓶颈
  • 为优化提供数据支持
  • 建立性能基线,便于后续对比

二、CPU 性能测试

1. UnixBench(综合基准)

curl -soft -sL https://raw.githubusercontent.com/teslamotors/unix-bench/master/Run -o unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

# 查看结果
# 关注:System Benchmarks Index Score

2. sysbench(CPU 计算)

# 安装
apt install sysbench -y

# 素数计算测试
sysbench cpu --cpu-max-prime=20000 --events=10000 run

# 关注:events per second(越高越好)

3. GeekBench(跨平台)

wget https://cdn.geeks.com/geekbench/Geekbench-5.x.x-Linux.tar.gz
tar -xzf Geekbench-5*.tar.gz
cd Geekbench-5*
./geekbench --benchmark

# 在线查看结果
# https://browser.geekbench.com/v5/cpu

三、内存性能测试

1. Stream(内存带宽)

# 下载编译
wget https://www.cs.virginia.edu/stream/FTP/Code/stream.c
gcc -O3 -fopenmp -o stream stream.c

./stream
# 关注:Copy, Scale, Add, Triad 带宽(MB/s)

2. 内存延迟测试

# 使用 lmbench
apt install lmbench -y
lmbench-all

四、磁盘 IO 性能测试

1. fio(综合磁盘测试)

apt install fio -y

# 随机读取测试
fio --name=randread --ioengine=libaio --iodepth=1 --rw=randread --bs=4k --direct=0 --size=1G --numjobs=4 --runtime=60 --group_reporting

# 顺序写入测试
fio --name=seqwrite --ioengine=libaio --iodepth=1 --rw=write --bs=1m --direct=1 --size=1G --numjobs=1 --runtime=60 --group_reporting

# 关注:IOPS 和 throughput

2. dd(简单测试)

# 写入测试
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct

# 读取测试
dd if=testfile of=/dev/null bs=1G count=1

# 关注:写入/读取速度(GB/s)

五、网络性能测试

1. Speedtest(带宽测试)

# 安装
apt install speedtest-cli -y

# 测试
speedtest-cli

# 关注:Upload/Download(Mbps)

2. iPerf3(内网带宽)

# 服务器端
iperf3 -s

# 客户端
iperf3 -c 服务器 IP -P 4

# 关注:Bandwidth(Gbits/sec)

3. 延迟和丢包测试

# mtr 测试
mtr -rwc 100 目标地址

# 关注:Loss%(丢包率)和 Avg(延迟)

六、Web 服务器性能测试

1. Apache Bench

apt install apache2-utils -y

# 测试
ab -n 10000 -c 100 https://你的域名/

# 关注:Requests per second, Time per request

2. wrk(现代压测工具)

apt install wrk -y

wrk -t12 -c400 -d30s https://你的域名/

# 关注:Req/Sec, Latency

七、数据库性能测试

MySQL Benchmark

# 使用 sysbench
sysbench oltp_read_write --mysql-host=localhost --mysql-user=test --mysql-password=test --tables=10 --table-size=100000 prepare

sysbench oltp_read_write --mysql-host=localhost --mysql-user=test --mysql-password=test --tables=10 --table-size=100000 --threads=8 --time=60 run

# 关注:transactions per second

八、性能优化建议

1. CPU 优化

# 调整进程优先级
renice -n -5 -p 进程 ID

# 使用 taskset 绑定 CPU 亲和性
taskset -c 0-3 命令

2. 内存优化

# 调整 swappiness
echo 10 > /proc/sys/vm/swappiness

# 增加文件描述符限制
ulimit -n 65535

3. 磁盘 IO 优化

# 使用 Deadline I/O 调度器
echo deadline > /sys/block/sda/queue/scheduler

# 调整预读大小
blockdev --setra 4096 /dev/sda

4. 网络优化

# 优化 TCP 参数
cat >> /etc/sysctl.conf << EOF
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
EOF
sysctl -p

九、监控工具推荐

  • htop - 实时系统监控
  • iotop - 磁盘 IO 监控
  • nethogs - 网络流量监控
  • glances - 综合监控
  • Prometheus+Grafana - 专业监控方案

十、性能测试脚本整合

#!/bin/bash
# VPS 性能一键测试脚本

echo "========== CPU 测试 =========="
sysbench cpu --cpu-max-prime=20000 --events=10000 run

echo "========== 内存测试 =========="
sysbench memory run

echo "========== 磁盘测试 =========="
dd if=/dev/zero of=./testfile bs=1G count=1 oflag=direct && rm testfile

echo "========== 网络测试 =========="
speedtest-cli

echo "========== 测试完成 =========="

总结

性能测试是了解服务器能力的重要手段,定期测试可以帮助我们发现潜在问题并做出针对性优化。建议在新 VPS 上线、配置变更、性能下降时进行测试。

来源:https://mjj.728.hk/


已发布

分类

来自

标签: