服务器性能压测工具:自己动手给服务器做个性能压力测试,这些工

为什么需要给服务器做压力测试?


刚上线的新服务器,或者刚换完配置的系统,心里总没底:到底能抗多少并发?

会不会一上线就崩?

这时候就需要服务器性能压测工具来帮忙模拟真实用户请求,提前暴露短板。

本文选用两款最适合新手的工具——ab (Apache Bench)wrk,它们安装简单、输出清晰,照着做就能跑出第一份报告。


准备工作:安装工具与环境确认


1. 确认操作系统


不管你是 CentOS 7、Ubuntu 20.04 还是 Debian,下面命令都兼容。

先登录你的服务器(SSH 或用宝塔终端)。


2. 安装 ab


ab 是 Apache 自带的压测工具,无需安装完整 Apache,只需安装 httpd-tools 包。


# CentOS / RHEL / Fedora
yum install -y httpd-tools

服务器性能压测工具:自己动手给服务器做个性能压力测试,这些工 配图

Ubuntu / Debian

apt update && apt install -y apache2-utils


安装完成后输入 ab -V 如果显示版本号说明成功。


3. 安装 wrk


wrk 性能更强劲,但需要编译。

先安装依赖:


yum install -y git gcc make openssl-devel   # CentOS
apt install -y git gcc make libssl-dev # Ubuntu

然后从 GitHub 拉取源码:


git clone https://github.com/wg/wrk.git
cd wrk && make
cp wrk /usr/local/bin/

输入 wrk --version 验证。


实战一:用 ab 做一次并发压力测试


假设你的站域名是 https://example.com,测试首页:


ab -n 1000 -c 10 https://example.com/


  • -n 1000:总请求数 1000 个

  • -c 10:同时并发 10 个连接


看到类似输出:


Requests per second:    245.22 [#/sec] (mean)
Time per request: 40.780 [ms] (mean, across all concurrent requests)
Failed requests: 0

重点关注 Requests per second(每秒请求数,越大越好)和 Failed requests(失败数,0 为正常)。

如果失败数多,说明服务器扛不住当前并发。


实战二:用 wrk 压测更真实的场景


wrk 用法类似,但可以设置线程数,更贴近真实多线程访问:


wrk -t4 -c100 -d30s https://example.com/


  • -t4:启动 4 个线程

  • -c100:保持 100 个并发连接

  • -d30s:持续压测 30 秒


输出片段:


Requests/sec:   3120.56
Latency (平均延迟): 31.24ms

wrk 会给出延迟分布(50%、75%、99% 分位延迟),可以更精准判断性能拐点。

如果 99% 延迟远超平均值,说明有些请求被卡住了,需要排查数据库或 PHP-FPM 设置。


常见问题与避坑指南


1. 压测本机时出现 apr_socket_connect: 连接被拒绝


检查目标服务(如 Nginx、Apache)是否运行:


systemctl status nginx

以及防火墙是否放行了对应端口(默认 80/443)。

如果服务器在本地压测,建议从另一台机器发起请求,避免压测工具占用服务器资源。


2. wrk 提示 no support for LuaJIT


wrk 默认支持 Lua 脚本来模拟复杂请求,但如果你不需要,忽略即可;

若执意要支持,需先安装 LuaJIT 再重新编译 wrk(零基础用户建议直接忽略,不影响基本压测)。


3. 压测过程中服务器直接卡死


并发数一开始不要太大,从 -c 10-c 100 逐步增加,观察 CPU 和内存占用。

同时建议先用 htop 或宝塔面板监控资源,避免压测导致生产环境故障。


效果验证:读懂报告并及时优化


一次完整的压测结束后,你会得到一组数字。

新手可以按这个顺序判断:



  1. 失败请求是否为 0? 不为 0 则先检查网络、服务状态。

  2. 每秒请求数(QPS)是否满足预期? 比如一个 1M 并发/天的网站,QPS 至少要到 50 以上。

  3. 平均延迟是否在可接受范围? 普通页面建议 <200ms,API 接口 <500ms。

  4. 99% 延迟是否远高于平均值? 如果差 3 倍以上,说明存在长尾请求,需要优化慢查询或缓存。


如果你发现 QPS 偏低,可以从这几个方向入手:升级带宽、开启 Nginx 缓存、启用 PHP OPCache、使用 Redis 缓存数据库查询。

记住,服务器性能压测工具的价值就是帮你找到短板,而不是只看跑分。


现在你已经学会自己动手压测了,下次碰到服务器慢就别瞎猜了,直接跑一遍数据再来优化。

遇到异常时优先回看本文的避坑和高频问题部分,基本都能解决。

服务器性能压测工具:自己动手给服务器做个性能压力测试,这些工 配图
分享到:
上一篇
Docker部署RabbitMQ消息队列
下一篇
服务器硬盘选型SSD HDD:服务器硬盘怎么选?SSD和HD
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意