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參數,模擬真實用戶場景(瀏覽器會復用連接)。