ab (ApacheBench)命令

ab (ApacheBench)命令
參數
-n 在測試會話中所執行的請求個數。默認時,僅執行一個請求
-c 一次產生的請求個數。默認是一次一個
-t 測試所進行的最大秒數
-k 啓用HTTP KeepAlive功能,則在一個HTTP會話中執行多個請求
-v 設置顯示信息的詳細程度
 
ab [options] [http://]hostname[:port]/path
 
如: ab -n 1000 -c 100 -k http://www.cnblogs.com/jincon/archive.html

 

Concurrency Level 
併發的用戶數
Time taken for tests 
全部請求被處理完成所花費的時間總和
Complete requests 
總請求數
Failed requests  
失敗的請求總數
Requests per second 
吞吐率=Complete requests / Time taken for tests
Time per request 
用戶平均請求等待時間=Time taken for tests /(Complete requests / Concurrency Level)
Time per request 
服務器平均請求處理時間=Time taken for tests / Complete requests
Transfer rate 
請求單位時間內獲取的數據長度
 
GnuPlot
 
安裝GnuPlot
yum install GnuPlot
apt-get install GnuPlot
 
首先,使用ab 測試性能,並將測試結果寫入ab_500_100.dat文件
 
ab -n 500 -c 100 -g ./ab_500_100.dat -k http://localhost/index.php
 
gnuplot文件內容格式以下
starttime   seconds ctime   dtime   ttime   wait  

Mon Jan 27 21:03:02 2014    1390827782  89  503 592 28  

Mon Jan 27 21:03:02 2014    1390827782  84  591 676 24 
ctime:connection time 
dtime: processing time 
ttime: total time, = connection time + processing time 
wait:wait time 
 
而後,根據導出的gnuplot文件繪製圖表,繪製腳本以下
# 設定輸出圖片的格式  
set terminal png  

# 設定輸出的圖片文件名  
set output "ab_500.png"  

# 圖表的標題  
set title "ab_500 ab -n 500 -c 100,200,300"  

# 設定圖表的X軸和Y軸縮放比例(至關於調整圖片的縱橫比例,方形的很差看啊)  
set size 1,0.7  

# 設定以Y軸數據爲基準繪製柵格(就是示例圖表中的橫向虛線)  
set grid y  
# X軸標題 set xlabel
"request"
# Y軸標題 set ylabel
"response time (ms)" # 設定plot的數據文件,曲線風格和圖例名稱,以第九列數據ttime爲基準數據繪圖 plot "ab_500_100.dat" using 9 smooth sbezier with lines title "conc per 100", "ab_500_200.dat" using 9 smooth sbezier with lines title "conc per 200", "ab_500_300.dat" using 9 smooth sbezier with lines title "conc per 300" gnuplot> plot "test.dat" u 7 with lines title "ctime",\ >"test.dat" u 8 with lines title "dtime",\ >"test.dat" u 9 with lines title "ttime",\ >"test.dat" u 10 with lines title "wait"

 

參數說明:

set size 1,0.7 縮放比例,前面是X軸,後面是Y軸, (0, 1]的一個浮點數,1爲原始值php

using 9 表示用哪一列數據繪圖,數字是數據行按照空格或製表符分割的字段數字索引,從1開始html

smooth sbezier plot提供的一些數據填充算法以保證線條平滑度的,包含以下選項:smooth {unique | csplines | acsplines | bezier | sbezier},更詳細解釋請參考官方文檔算法

with lines title "xxx" 這個會再右上角生成一個圖例,用於區分什麼顏色的線條是哪一項數據服務器

 

生成的圖表以下:併發

 

相關文章
相關標籤/搜索