1. 首页 > 技术教程 > 正文

性能测速:一键定位带宽/磁盘/CPU 瓶颈,找出打开慢的主因

性能测速:一键定位带宽/磁盘/CPU 瓶颈,找出打开慢的主因

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

性能测速:一键定位带宽/磁盘/CPU 瓶颈,找出打开慢的主因的图片

一键测速脚本:三分钟定位带宽/磁盘/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