apache性能测试核心是使用ab、wrk等轻量工具压测,配合mod_status实时监控busyworkers、reqpersec等指标,通过调整maxrequestworkers、keepalivetimeout等参数,结合iostat、free等系统工具定位cpu、io、内存瓶颈,以rps与延时变化趋势确定性能拐点。

Apache 性能测试主要围绕 Web 服务器本身的处理能力展开,核心目标是评估其在不同并发量下的响应能力、吞吐量、资源消耗和稳定性。它不依赖 JMeter 这类通用压测工具(虽然也能用),而是更倾向使用轻量、原生、协议级的工具,比如 ab(Apache Bench)、wrk 或 siege,再配合 Apache 自带的状态监控模块(mod_status)进行实时观测。
直接看关键步骤:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 先确认 Apache 已启用
mod_status模块,并配置ExtendedStatus On和/server-status访问路径,这样能实时看到活跃连接数、工作进程状态、每秒请求数等真实运行指标 - 用
ab快速发起基准压测:例如ab -n 1000 -c 100 http://localhost/表示发送 1000 次请求、并发 100 连接 - 观察输出中的
Requests per second(RPS)、Time per request(平均延时)、Failed requests(失败数)和Connection Times分布 - 同时打开另一个终端,持续执行
curl "http://localhost/server-status?auto"查看 BusyWorkers、IdleWorkers、ReqPerSec 等动态指标,判断是否达到 MaxRequestWorkers 上限或出现连接堆积
常见压测场景与对应配置关注点:
-
静态文件性能:关闭
mod_php、禁用.htaccess解析、启用mod_cache和Sendfile on,压测/index.html类路径,看能否跑满带宽或 CPU -
高并发连接能力:调整
MaxRequestWorkers(旧版叫MaxClients)、ServerLimit、KeepAliveTimeout;用ab -k开启长连接,观察连接复用效果 -
慢请求/超时问题:结合
ab -t 30(持续压测 30 秒)+tail -f error_log,检查是否有timeout、connection reset或scoreboard full报错 -
瓶颈定位:
- 若 RPS 上不去但 CPU 很低 → 可能卡在磁盘 I/O(用
iostat -x 1看%util和await) - 若
BusyWorkers长期打满 → 增加MaxRequestWorkers,但需同步调高ServerLimit和系统ulimit -n - 若
Time per request波动剧烈且失败增多 → 检查内存是否耗尽(free -h)、是否触发了 OOM Killer
- 若 RPS 上不去但 CPU 很低 → 可能卡在磁盘 I/O(用
结果不是只看数字,重点看趋势:
同一脚本下,逐步提升 -c(并发数),记录 RPS 和平均延时变化。理想曲线是 RPS 线性上升、延时平稳;一旦 RPS 增长变缓、延时陡升、失败率跳升,那个并发点就近似为当前配置下的性能拐点。
工具够用、指标可验、配置可调——Apache 性能测试本质上是一次“配置 × 负载 × 监控”的闭环验证。









