一、【ab】
解釋:
ab就是Apache Benchmark的縮寫,顧名思義它是Apache組織開發的一款web壓力測試工具,優點是使用方便,統計功能強大。只要我們安裝了Apache,就能夠在Apache的安裝目錄中找到它。
用法:
1.找到apache/bin位置,用命令面板打開,如圖:
2.執行ab命令 ,ab一般常用參數就是 -n, -t ,和 -c ,一般-t或者-n選一個用。
-n即requests,用於指定壓力測試總共的執行次數。
-c即concurrency,用於指定壓力測試的並發數。
-t即timelimit,等待響應的最大時間(單位:秒)。
(其它參數請參考官網文檔:http://httpd.apache.org/docs/2.0/programs/ab.html)
例:
ab -n 1000 -c 1000 http://www.baidu.com/
-n 1000 即:總共執行1000次
-c 1000 即:每次並發1000
http://www.baidu.com/ 即:需要進行壓力測試的url
【注意 url末尾一定要帶‘/’,否則出現 下圖情況 】
3.測試結果
運行dos命令:
ab -n 1000 -c 1000 http://a.cn/
結果分析:
服務器信息:采用nginx服務器,域名是a.cn,端口號80端口。
Server Software: nginx (服務器軟件名稱及版本信息)
Server Hostname: a.cn (服務器主機名)
Server Port: 80 (服務器端口)
Document Path: / (供測試的URL路徑)
Document Length: 162 bytes (供測試的URL返回的文檔大小)
重要指標:
Concurrency Level: 1000(並發數)
Time taken for tests: 47.056 seconds (壓力測試消耗的總時間)
Complete requests: 1000 (壓力測試的總次數)
Failed requests: 0 (失敗的請求數)
Non-2xx responses: 1000 (網絡連接寫入錯誤數)
Total transferred: 342000 (傳輸的總數據量)
bytes HTML transferred: 162000 (HTML文檔的總數據量)
bytes Requests per second: 21.25 [#/sec] (mean) (平均每秒的請求數,即吞吐率) 【關注重點】
---------------------------------------------------------------------------------------------------------------------------------------
服務器並發處理能力的量化描述,單位是reqs/s,指的是在某個並發用戶數下單位時間內處理的請求數。某個並發用戶數下單位時間內能處理的最大請求數,稱之為最大吞吐率。
記住:吞吐率是基於並發用戶數的。這句話代表了兩個含義:
a、吞吐率和並發用戶數相關
b、不同的並發用戶數下,吞吐率一般是不同的
計算公式:總請求數/處理完成這些請求數所花費的時間,即
Request per second=Complete requests/Time taken for tests
必須要說明的是,這個數值表示當前機器的整體性能,值越大越好。
----------------------------------------------------------------------------------------------------------------------------------------
Time per request: 47055.692 [ms] (mean) (所有並發用戶(這里是1000)都請求一次的平均時間)【關注重點】
Time per request: 47.056 [ms] (mean, across all concurrent requests) (單個用戶請求一次的平均時間)【關注重點】
Transfer rate: 7.10 [Kbytes/sec] received (傳輸速率,單位:KB/s。可以幫助排除是否存在網絡流量過大導致響應時間延長的問題)
每個請求處理時間的分布情況,50%的處理時間在51268ms內,66%的處理時間在31168ms內...,重要的是看90%的處理時間:
Percentage of the requests served within a certain time (ms) 50% 25068 66% 31168 75% 37573 80% 39440 90% 43210 95% 45109 98% 46236 99% 46607 100% 46970 (longest request)