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)。