性能测速:一键定位带宽/磁盘/CPU 瓶颈,找出打开慢的主因
网站打开慢,90% 的原因就出在带宽、磁盘或 CPU 上。别急着换服务器,先跑一遍性能测速,锁定瓶颈后再动手。主机选的 Linux 教程里,最常被问到的就是“服务器配置不低,为什么打开还是慢”。今天直接上命令,一步到位测出三大硬件的真实负载。

一键测速脚本:三分钟定位带宽/磁盘/CPU 瓶颈
别手动一个个测,太慢。我习惯用一个开源脚本,跑一次就能看到带宽、磁盘和 CPU 的实时压测结果。这脚本在国内外 VPS 上都跑过,兼容 CentOS 7/8、Ubuntu 20.04+、Debian 10+。
下载并运行测速脚本
wget -qO- bench.sh | bash
wget 静默下载 bench.sh 脚本,-qO- 表示直接输出到标准输出,不保存文件
然后用管道交给 bash 执行,三分钟左右出结果
跑完之后,你会看到三块数据:
1.带宽测速:显示上传/下载速度,单位 Mbps。如果下载速度远低于标称带宽,说明带宽被占满或线路有问题。
2.磁盘 I/O 测速:显示连续写入速度,单位 MB/s。低于 50 MB/s 的机械盘,WordPress 后台都会卡。
3.CPU 性能测速:显示 sysbench 跑分,单位 Events per second。低于 500 的 CPU,高并发下直接跪。
单独压测磁盘 I/O
有时候脚本跑完磁盘速度还行,但实际写入小文件时很慢。这时候单独压测一下随机读写:
fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=test –bs=4k –iodepth=64 –size=1G –readwrite=randrw –rwmixread=75
fio 是磁盘性能测试神器,–bs=4k 模拟小文件写入,–rwmixread=75 表示 75% 读 25% 写
等 30 秒左右看结果,重点关注 iops(每秒读写次数)
如果 iops 低于 1000,说明磁盘是瓶颈。老手都知道,这时候换 SSD 或者上缓存是最直接的解法。
实时监控 CPU 和内存负载
测速只能看到瞬时值,长时间跑业务的话,得看 CPU 和内存的实时曲线:
htop
比 top 更直观,能看到每个核心的占用率、内存占用、进程列表
按 F6 可以排序,找到吃 CPU 最多的进程
如果某个进程一直占满 CPU,比如 php-fpm 或 MySQL,那瓶颈就在应用层,不是硬件不行。
排障实战:测速结果怎么读
很多人跑完脚本就懵了,一堆数字不知道哪个是重点。我直接说结论:
•带宽测速低于 30 Mbps:图片、JS、CSS 加载会慢。先检查是否被限速,用 `iftop` 看实时流量。
•磁盘写入低于 30 MB/s:WordPress 发文章、安装插件都会卡。考虑换 SSD 或调整文件系统。
•CPU 跑分低于 800:高并发下数据库查询会排队。优化慢查询或者上缓存层。
常见报错处理
报错 1:wget: command not found
CentOS / Rocky Linux
yum install -y wget
Debian / Ubuntu
apt install -y wget
报错 2:fio 命令找不到
通用安装
apt install -y fio # Debian/Ubuntu
yum install -y fio # CentOS/RHEL
报错 3:htop 显示不全
export TERM=xterm-256color
htop
如果还不行,检查 SSH 客户端是否支持 256 色
老鸟叮嘱:测速时千万别跑生产业务
测速本身会压满带宽和磁盘,如果服务器正在对外提供服务,比如跑着电商网站或 API,建议先切到维护模式或者深夜执行。我曾经在白天跑 bench.sh,直接把一台 4 核 8G 的服务器磁盘 I/O 打爆,导致 MySQL 超时 30 秒,前台直接 502。别问为什么,照着做就行。
FAQ:性能测速常见问题
Linux SSH 连不上怎么办?
先检查网络是否通:`ping 你的IP`。如果通,可能是 SSH 服务挂了,用 VNC 或 IPMI 登录重启 sshd:`systemctl restart sshd`。如果 ping 不通,联系机房检查防火墙或路由。
VPS 防火墙端口放行后还是访问不了是什么原因?
大概率是云平台的安全组没放行。很多云厂商有两层防火墙:系统内部的 iptables/firewalld 和云控制台的安全组。先检查云平台的安全组规则,再查系统防火墙:`iptables -L -n`。
Linux 小白可以直接用 root 账号操作吗?
不建议。日常操作用普通用户 + sudo,只有安装系统级软件时才切 root。root 权限下 rm -rf 打错一个字母,系统就没了。习惯用 `sudo -i` 临时切换。
BBR 开启后为什么速度没有明显提升?
BBR 只优化长肥网络(高延迟、高带宽),如果你的服务器带宽本身就低于 50 Mbps,或者延迟低于 30ms,BBR 几乎没效果。先测带宽,再决定是否开 BBR。
磁盘 I/O 测速时服务器卡死怎么办?
立刻 Ctrl+C 中断测速。如果已经卡死,只能强制重启。下次测速前先降低负载:`fio –size=512M –numjobs=2`,缩小测试文件大小和并发数。
测速结果和实际体验不一致是什么原因?
测速是峰值,实际体验受路由、CDN、数据库查询、PHP 执行时间等多因素影响。建议结合 `curl -w "%{time_total}"` 测一下页面总加载时间,再逐层排查。
—
**相关阅读:**
– [Claude Code VPS 使用指南:SSH、项目目录和权限配置](https://www.zhujixuan.com/jishujiaocheng/9812.html)
– [VPS 部署 AI 工具学习路线:从 Linux 基础到 AI Agent 实战](https://www.zhujixuan.com/jishujiaocheng/9765.html)
– [AI 工具部署前的服务器安全清单:SSH、防火墙、端口和 API Key 管理](https://www.zhujixuan.com/jishujiaocheng/9755.html)
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9562.html 商家投稿邮箱:zhujixuanblog@qq.com
