1、簡介
ab:apache benchmark是apache安裝包中自帶的壓力測試工具 ,簡單易用
2、安裝
yum install -y httpd-tools
3、引數說明
-n 即requests,用於指定壓力測試總共的執行次數。
-c 即concurrency,用於指定的併發數。
-t 即timelimit,等待響應的最大時間(單位:秒)。
-b 即windowsize,tcp傳送/接收的緩衝大小(單位:位元組)。
-p 即postfile,傳送post請求時需要上傳的檔案,此外還必須設定-t引數。
-u 即putfile,傳送put請求時需要上傳的檔案,此外還必須設定-t引數。
-v 即verbosity,指定列印幫助資訊的冗餘級別。
-w 以html**形式列印結果。
-i 使用head請求代替get請求。
-x 插入字串作為table標籤的屬性。
-y 插入字串作為tr標籤的屬性。
-z 插入字串作為td標籤的屬性。
-c 新增cookie資訊,例如:"apache=1234"
(可以重複該引數選項以新增多個)。
-h 新增任意的請求頭,例如:"accept-encoding: gzip",請求頭將會新增在現有的多個請求頭之後(可以重複該引數選項以新增多個)。
-a 新增乙個基本的網路認證資訊,使用者名稱和密碼之間用英文冒號隔開。
-p 新增乙個基本的**認證資訊,使用者名稱和密碼之間用英文冒號隔開。
-x 指定要使用的埠號。
-v 列印版本號並退出。
-k 使用http的keepalive特性。
-d 不顯示百分比。
-s 不顯示預估和警告資訊。
-g 輸出結果資訊到gnuplot格式的檔案中。
-e 輸出結果資訊到csv格式的檔案中。
-r 指定接收到錯誤資訊時不退出程式。
-h 顯示用法資訊,其實就是ab -help。
4、例項
#模擬1000個併發請求100000次
: myws/1.8 #伺服器軟體資訊
server hostname
: 10.0.0.131 #伺服器主機名
server port
: 80 #伺服器端口
document path
: /index.html #請求的uri
document length
: 612 bytes #請求返回的資料大小
concurrency level
: 1000 #併發數
time taken for tests
: 7.116 seconds #消耗總時間
complete requests
: 100000 #請求總次數
failed requests
: 0 #請求失敗次數
write errors
: 0 #網路連線寫入錯誤數
total transferred
: 84100000 bytes #傳輸總資料量
html transferred
: 61200000 bytes #html文件的總資料量
requests per second
: 14052.09 [#/sec] (mean) #平均每秒處理的請求數,qps反應伺服器吞吐量的重要資訊
time per request
: 71.164 [ms] (mean) #所有併發請求一次的時間
time per request
: 0.071 [ms] (mean, across all concurrent requests) #單個請求處理的平均時間
transfer rate
: 11540.83 [kbytes/sec] received #平均每秒獲取的資料長度
connection times (ms)
min mean[+/-sd] median max
connect
: 0 28 187.8 2 3010
processing
: 1 9 28.0 7 1637
waiting
: 0 7 27.9 5 1634
total
: 4 36 196.4 9 3027
percentage of the requests served within a certain time (ms)
50% 9 # 50%的請求在9ms內處理完
66% 10
75% 10
80% 10
90% 11
95% 12
98% 1011
99% 1019 # 99%的請求在1019ms內處理完
100% 3027 (longest request)
5、注意事項
測試機與被測試機要分開
不要對線上生產的伺服器做壓力測試,十分危險,可能引起宕機
併發過大伺服器會認為受到攻擊而拒絕,需要設定合理的併發與請求數,從而測試出準確的伺服器效能指標
ab 壓力測試
apache自帶的ab的壓力測試 以前安裝好apache總是不知道該如何測試apache的效能,現在總算找到乙個測試工具了。就是apache自帶的測試工具ab apache benchmark 在apache的bin目錄下。格式 ab options http hostname port path ...
ab壓力測試
1.我的環境是windows下的phpstudy,進入到apache bin目錄裡面有個ab.exe,壓力測試命令如下 ab.exe c 200 n 1000 2.mysql.php 如下 正常的邏輯思維,壓力增大後,導致資料庫num欄位成為負數,將下面 貼上到自己 下測試即可。在test資料庫下,...
ab壓力測試
ab命令會建立多個併發訪問執行緒,模擬多個訪問者同時對某一url位址進行訪問。它的測試目標是基於url的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx lighthttp tomcat iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,它既不會占用很高cpu,...