ab命令

在學(xué)習(xí)使用ab命令之前,首先要了解壓力測試的幾個概念:
吞吐率(Requests per second)
概念:服務(wù)器并發(fā)處理能力的量化描述,單位是reqs/s,指的是某個并發(fā)用戶數(shù)下單位時間內(nèi)處理的請求數(shù)。某個并發(fā)用戶數(shù)下單位時間內(nèi)能處理的最大請求數(shù),稱之為最大吞吐率。
計算公式:總請求數(shù) / 處理完成這些請求數(shù)所花費的時間,即
Request per second = Complete requests / Time taken for tests

并發(fā)連接數(shù)(The number of concurrent connections)
概念:某個時刻服務(wù)器所接受的請求數(shù)目,簡單的講,就是一個會話。

并發(fā)用戶數(shù)(The number of concurrent users,Concurrency Level)
概念:要注意區(qū)分這個概念和并發(fā)連接數(shù)之間的區(qū)別,一個用戶可能同時會產(chǎn)生多個會話,也即連接數(shù)。

用戶平均請求等待時間(Time per request)
計算公式:處理完成所有請求數(shù)所花費的時間/ (總請求數(shù) / 并發(fā)用戶數(shù)),即
Time per request = Time taken for tests /( Complete requests / Concurrency Level)

服務(wù)器平均請求等待時間(Time per request: across all concurrent requests)
計算公式:處理完成所有請求數(shù)所花費的時間 / 總請求數(shù),即
Time taken for / testsComplete requests
可以看到,它是吞吐率的倒數(shù)。
同時,它也=用戶平均請求等待時間/并發(fā)用戶數(shù),即
Time per request / Concurrency Level

3.ab工具的介紹

ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務(wù)器進(jìn)行網(wǎng)站訪問壓力測試,也可以對或其它類型的服務(wù)器進(jìn)行壓力測試。比如nginx、tomcat、IIS等。
安裝:
1.公司應(yīng)該有程序員吧,可以安裝一個wamp或者phpstudy,這樣apache服務(wù)器和mysql數(shù)據(jù)庫都有了,一舉多得:
    文件位置:打開你安裝的apache的位置:找到 bin文件夾下面的ab.exe
    在該文件夾下打開命令行,輸入 ab.exe -help

對上面的Options做下解釋吧:

-n即requests,用于指定壓力測試總共的執(zhí)行次數(shù)。
-c即concurrency,用于指定壓力測試的并發(fā)數(shù)。
-t即timelimit,等待響應(yīng)的最大時間(單位:秒)。
-b即windowsize,TCP發(fā)送/接收的緩沖大小(單位:字節(jié))。
-p即postfile,發(fā)送POST請求時需要上傳的文件,此外還必須設(shè)置-T參數(shù)。
-u即putfile,發(fā)送PUT請求時需要上傳的文件,此外還必須設(shè)置-T參數(shù)。
-T即content-type,用于設(shè)置Content-Type請求頭信息,例如:application/x-www-form-urlencoded,默認(rèn)值為text/plain。
-v即verbosity,指定打印幫助信息的冗余級別。
-w以HTML表格形式打印結(jié)果。
-i使用HEAD請求代替GET請求。
-x插入字符串作為table標(biāo)簽的屬性。
-y插入字符串作為tr標(biāo)簽的屬性。
-z插入字符串作為td標(biāo)簽的屬性。
-C添加cookie信息,例如:"Apache=1234"(可以重復(fù)該參數(shù)選項以添加多個)。
-H添加任意的請求頭,例如:"Accept-Encoding: gzip",請求頭將會添加在現(xiàn)有的多個請求頭之后(可以重復(fù)該參數(shù)選項以添加多個)。
-A添加一個基本的網(wǎng)絡(luò)認(rèn)證信息,用戶名和密碼之間用英文冒號隔開。
-P添加一個基本的代理認(rèn)證信息,用戶名和密碼之間用英文冒號隔開。
-X指定使用的代理服務(wù)器和端口號,例如:"126.10.10.3:88"。
-V打印版本號并退出。
-k使用HTTP的KeepAlive特性。
-d不顯示百分比。
-S不顯示預(yù)估和警告信息。
-g輸出結(jié)果信息到gnuplot格式的文件中。
-e輸出結(jié)果信息到CSV格式的文件中。
-r指定接收到錯誤信息時不退出程序。
-h顯示用法信息,其實就是ab -help。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容