PHP測試與優化-- Apache自帶的壓力測試工具ab(apache bench) - 簡單使用
一、測試工具:
Apache 壓力測試工具ab
ab是針對apache的效能測試工具,可以只安裝ab工具。
ubuntu安裝ab
apt-get install apache2-utils
centos安裝ab
yum install httpd-tools
命令:
ab -n 100 -c 1000 http://XXX/default/index
模擬併發級別為100,請求數為1000個的api資料請求數量測試
測試結果如下
完成進度
響應概要資訊
壓力測試結果
伺服器軟體:
伺服器主機名:127.0.0.1
伺服器埠:8888
檔案路徑:/
檔案長度:612位元組
併發級別:1000
測試時間:1.931秒
完成要求:10000
失敗請求:0
總轉移:7130000位元組
HTML轉移:6120000位元組
每秒的請求數:5178.66 [ # /秒](平均)
每次要求:193.100 [毫秒](平均)
每次請求的時間:0.193 [毫秒](意味著,在所有的併發請求)
傳輸速率:3605.85 [千位元組/秒]收到
整體統計資訊
平均到每個請求的時間消耗
響應時間的分割槽統計
注意
ab主要使用的兩個選項就是-n和-c。其他選項使用命令 ab -h 進行檢視。
URL最後一定要補充一個"/",如:http://www.test.com/
結論:
一個公式可以表示:響應時間=網路響應時間+應用程式響應時間。標準可參考國外的3/5/10原則:
(1)在3秒鐘之內,頁面給予使用者響應並有所顯示,可認為是“很不錯的”;
(2)在3~5秒鐘內,頁面給予使用者響應並有所顯示,可認為是“好的”;
(3)在5~10秒鐘內,頁面給予使用者響應並有所顯示,可認為是“勉強接受的”;
(4)超過10秒就讓人有點不耐煩了,使用者很可能不會繼續等待下去;
所以
一個測試網站在你預估正常情況下的請求數與併發量的模擬測試,
結果如果80%的請求完成率在3秒以內,就代表訪問頁面的效能為優秀;
結果如果80%的請求完成率在5秒以內,就代表訪問頁面的效能為良好;
結果如果80%的請求完成率在10秒以內,就代表訪問頁面的效能為中;
結果如果80%的請求完成率在10秒以上,就代表訪問頁面的效能為差。