Apache2在CentOS中的性能测试方法
ApacheBench(ab)是Apache自带的轻量级压力测试工具,适合快速评估Apache2的性能。在CentOS中,通过安装httpd-tools包获取ab:
sudo yum install -y httpd-tools
安装完成后,通过ab -V验证安装(显示版本信息即为成功)。
ab的核心功能是通过命令行参数模拟并发请求,测试服务器的吞吐量、响应时间等指标。常用参数说明:
-n:总请求数(如1000表示发送1000次请求);-c:并发数(如100表示同时有100个请求);-t:测试最大时长(秒,如60表示测试持续60秒);-k:启用HTTP KeepAlive(复用连接,提升测试真实性);-p:POST请求数据文件(如post.json);-T:POST数据的Content-Type(如application/json)。ab -n 1000 -c 100 http://your-server-ip/
post.json文件(内容如{"username": "test", "password": "123456"})测试登录接口:ab -n 500 -c 50 -p post.json -T "application/json" http://your-server-ip/login
ab -n 1000 -c 100 -k http://your-server-ip/
性能测试时,需同步监控服务器资源(CPU、内存、磁盘I/O、网络),以判断瓶颈所在:
top或htop命令,找到httpd进程的CPU、内存使用率;ss -tuln | grep httpd(或netstat -tuln | grep httpd)查看Apache的端口监听及连接状态;mod_status模块(默认可能未启用),编辑/etc/httpd/conf.d/status.conf,取消Require ip限制(如Require ip 127.0.0.1改为Require all granted),重启Apache后访问http://your-server-ip/server-status,查看请求队列、工作进程状态等详细信息。若需更复杂的测试(如模拟用户行为、生成可视化报告),可使用以下工具:
mod_status收集Apache性能数据(如请求量、响应时间),存储到InfluxDB,再用Grafana展示实时监控面板(需安装并配置InfluxDB、Grafana及对应的Apache插件);-c 10),逐步提高并发数(如-c 100、-c 500),观察服务器性能变化趋势;apr_socket_recv: Connection reset by peer(服务器拒绝连接)或socket: Too many open files(文件句柄限制),需降低并发数或调整系统限制(如ulimit -n 65535)。