Apachebench
Apachebench是apache附帶的一個性能測試工具,一款輕量級的壓力測試工具。ab命令會創建很多的並發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。
安裝 apache,在 C:\Program Files\Apache Group\Apache2\bin目錄下找到ab程序,若不需要apache,可以復制出來獨立使用,然后卸載apache。
ab.exe 只能測試使用http協議的網站
abs.exe 可以測試使用http或者https協議的網站
測試命令:
ab -n 100 -c 10 http://www.test.com/path
訪問page url時,要在尾部加“/path”,表明測試訪問的是頁面內容;
訪問api url時,不用加,表明測試訪問的是數據接口。
常用參數如下:
-n 總的請求數
-c 並發請求數
-p post請求的參數文件,同時要配合 -T指定參數類型
-u put請求的參數文件,同時要配合 -T指定參數類型
-T 指定模擬request的headers中的Content-Type參數,比如POST請求時使用“application/x-www-form-urlencoded”類型,默認是“text/plain”
常用命令如下:
# 模擬100個客戶端請求10000次 $ ab -n 10000 -c 100 http://www.test.com/ # 調用POST方法的接口10次,傳輸的數據格式為JSON $ ab -n 10 -p json-file http://www.test.com/ # 調用OPTIONS方法的接口10次 $ ab -n 10 -m OPTIONS http://www.test.com/ # 輸出每次請求的返回信息 $ ab -n 10 -v 2 http://www.test.com/
壓力測試相關指標
1. 吞吐量 (Requests per second), RPS, 某個並發用戶數下,單位時間內處理的請求數。
2. 並發連接數
3. 並發用戶數
4. 用戶平均等待時間(Time per request) 處理完成所有請求數所花費的時間/(總請求數/並發用戶數)
5. 服務器平均請求等待時間 處理完成所有請求數所花費的時間/總請求數
6. QPS (Queries Per Second), 每秒能處理查詢數目, 經常用每秒查詢率來衡量域名系統服務器的機器的性能
參考: https://www.jianshu.com/p/bd12863365b8
https://blog.csdn.net/fooelliot/article/details/89888110