Apache2在CentOS上的性能测试流程与工具指南
在CentOS上进行性能测试前,需先安装核心工具(如ab)及监控辅助工具:
ab是Apache自带的轻量级压测工具,通过httpd-tools包安装:sudo yum install -y httpd-tools
# 验证安装
ab -V # 查看版本信息(确认安装成功)
sudo yum install -y top htop
基准测试用于测量系统在标准化任务下的性能,可使用sysbench工具(覆盖CPU、内存、磁盘I/O等维度):
sudo yum install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=4 run
sysbench memory --memory-block-size=1m --memory-total-size=10G run
sysbench fileio --file-total-size=5G prepare # 准备测试文件
sysbench fileio --file-total-size=5G --file-test-mode=rndrw --time=60 --threads=4 run # 执行测试
sysbench fileio --file-total-size=5G cleanup # 清理测试文件
负载测试用于评估系统在预期负载下的性能表现,推荐使用ab工具:
基本语法:
ab [选项] [http[s]://]hostname[:port]/path
常用参数:
| 参数 | 说明 | 示例 |
|---|---|---|
-n |
总请求数 | -n 1000(发送1000次请求) |
-c |
并发数 | -c 100(100个并发用户) |
-t |
测试时间(秒) | -t 60(测试60秒) |
-k |
启用KeepAlive | -k(保持连接) |
-p |
POST数据文件 | -p postdata.json |
-T |
Content-Type | -T "application/json" |
示例场景:
ab -n 1000 -c 100 http://your-server-ip/
ab -n 100 -c 100 -p postdata.json -T "application/json" http://your-server-ip/api/login
压力测试用于突破系统预期负载,识别性能瓶颈,可通过增加ab的并发数或测试时间实现:
ab -n 5000 -c 100 http://your-server-ip/
ab -t 60 -c 200 http://your-server-ip/
测试过程中需同步监控服务器资源,避免过载:
top # 按“P”排序CPU,“M”排序内存
mod_status):/etc/httpd/conf/httpd.conf),确保以下内容启用:<Location "/server-status">
SetHandler server-status
Require ip 127.0.0.1 # 仅允许本地访问(生产环境可调整)
</Location>
ExtendedStatus On
重启Apache后,通过浏览器访问http://your-server-ip/server-status查看实时状态。ab测试完成后,会输出关键指标,需重点关注:
若Failed requests过高或Time per request过长,需优化Apache配置(如调整MaxClients、KeepAliveTimeout)或升级服务器硬件。
-k参数,模拟真实用户场景(浏览器会复用连接)。