ab簡潔:nginx
ab是apache自帶的壓力測試工具,ab是apachebench命令的縮寫。apache
ab不只能夠對apache服務器進行網站訪問壓力測試,也能夠對或其它類型的服務器進行壓力測試。tomcat
ab是一個httpd自帶的很好用的壓力測試工具,ab命令會建立多個併發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。服務器
能夠用來測試apache的負載壓力,也能夠 用來測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力負載性能。併發
ab安裝:app
若是使用rpm安裝包,直接使用yum --install rpm包名工具
若是不想安裝apache可是又想使用ab命令,能夠直接安裝apache的工具包httpd-tools。性能
先cd到httpd-tools的所在目錄,使用以下命令安裝:測試
查看ab是否安裝:網站
yum -y install httpd-tools
查看幫助文檔
壓測實例:
壓測以下接口:
執行腳本後,cpu已經開始跑起來
正確的寫法:
能夠經過tomcat下的日誌查看請求結果
注意:
在進行示例時使用的鏈接通常都是http://*.com,這種寫法是沒有帶參數,若是你想測試一個寫入的Case,那須要傳遞參數給後臺,如何傳遞參數呢?
這裏有一個登陸的請求,須要登陸名和密碼,路徑是這樣的:
http://*/login.action?userName=admin&userPassWord=admin
使用該鏈接進行測試:ab -n 1 http://*/login.action?userName=admin&userPassWord=admin
發現因爲存在特殊字符& ,雖然命令執行成功,可是並不能處理 & 後的參
他有兩個參數:p(小寫),T(大寫),注意區分大小寫,一個是用於指定POST請求時的參數文件,一個用於指定請求的類型Content-type,關於Content-type的類型,你們能夠百度。
在AB命同級目錄創建一個文件:para.txt,在裏面寫入要傳遞的參數:userName=admin&userPassWord=admin
指定請求類型爲:application/x-www-form-urlencoded
完整的命令爲:ab -n 1 -p para.txt -T application/x-www-form-urlencoded http://*/login.action
如此就能夠將須要的兩個參數傳遞到後臺
主要參數:
-n:在測試會話中所執行的請求個數。默認時,僅執行一個請求。
-c:一次產生的請求個數。默認是一次一個。
-t:測試所進行的最大秒數。其內部隱含值是-n 50000,它能夠使對服務器的測試限制在一個固定的總時間之內。默認時,沒有時間限制。
-p:包含了須要POST的數據的文件。
-P:對一箇中轉代理提供BASIC認證信任。用戶名和密碼由一個:隔開,並以base64編碼形式發送。不管服務器是否須要(即, 是否發送了401認證需求代碼),此字符串都會被髮送。
-T:POST數據所使用的Content-type頭信息。