<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,  comments - 15,  trackbacks - 0

     

        Apache Benchmark簡(jiǎn)稱為ab,是apache自帶的用于HTTP Server測(cè)試的工具。它可以接受單一的URL,然后重復(fù)地按照指定的多個(gè)獨(dú)立線程的方式加載,并使用不同的命令行參數(shù)控制訪問(wèn)的次數(shù)、最大的并發(fā)訪問(wèn)數(shù)等。另外一項(xiàng)不錯(cuò)的功能是可以輸出比較詳細(xì)的報(bào)告。

     

    語(yǔ)法
    ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]hostname[:port]/path

    選項(xiàng)
    -A auth-username:password
    向服務(wù)器提供基本認(rèn)證信息。用戶名和密碼之間由一個(gè)":"隔開(kāi),并將被以base64編碼形式發(fā)送。無(wú)論服務(wù)器是否需要(即是否發(fā)送了401認(rèn)證需求代碼),此字符串都會(huì)被發(fā)送。
    -c concurrency
    一次產(chǎn)生的請(qǐng)求個(gè)數(shù)。默認(rèn)是一次一個(gè)。
    -C cookie-name=value
    對(duì)請(qǐng)求附加一個(gè)"Cookie:"頭行。其典型形式是 name=value 的一個(gè)參數(shù)對(duì)。此參數(shù)可以重復(fù)。
    -d
    不顯示"percentage served within XX [ms] table"消息(為以前的版本提供支持)。
    -e csv-file
    產(chǎn)生一個(gè)逗號(hào)分隔(CSV)文件,其中包含了處理每個(gè)相應(yīng)百分比請(qǐng)求(從1%到100%)所需要的相應(yīng)百分比時(shí)間(以微秒為單位)。由于這種格式已經(jīng)"二進(jìn)制化",所以比"gnuplot"格式更有用。
    -g gnuplot-file
    把所有測(cè)試結(jié)果寫(xiě)入一個(gè)"gnuplot"或者TSV(以Tab分隔)文件。此文件可以方便地導(dǎo)入到 Gnuplot, IDL, Mathematica, Excel中。其中的第一行為標(biāo)題。
    -h
    顯示使用方法的幫助信息。
    -H custom-header
    對(duì)請(qǐng)求附加額外的頭信息。此參數(shù)的典型形式是一個(gè)有效的頭信息行,其中包含了以冒號(hào)分隔的字段和值(如:"Accept-Encoding: zip/zop;8bit")。
    -i
    執(zhí)行HEAD請(qǐng)求,而不是GET 。
    -k
    啟用KeepAlive功能,即在一個(gè)HTTP會(huì)話中執(zhí)行多個(gè)請(qǐng)求。默認(rèn)不啟用KeepAlive功能。
    -n requests
    在測(cè)試會(huì)話中所執(zhí)行的請(qǐng)求個(gè)數(shù)。默認(rèn)僅執(zhí)行一個(gè)請(qǐng)求,此時(shí)其結(jié)果不具有意義。
    -p POST-file
    包含了POST數(shù)據(jù)的文件。
    -P proxy-auth-username:password
    對(duì)一個(gè)中轉(zhuǎn)代理提供基本認(rèn)證信息。用戶名和密碼由一個(gè)":"隔開(kāi),并將被以base64編碼形式發(fā)送。無(wú)論服務(wù)器是否需要(即是否發(fā)送了407代理認(rèn)證需求代碼),此字符串都會(huì)被發(fā)送。
    -q
    如果處理的請(qǐng)求數(shù)大于150,ab每處理大約10%或者100個(gè)請(qǐng)求時(shí),會(huì)在stderr輸出一個(gè)進(jìn)度計(jì)數(shù)。此 -q 標(biāo)記可以屏蔽這些信息。
    -s
    用于編譯中(ab -h 會(huì)告訴你)使用了SSL的受保護(hù)的https ,而不是http協(xié)議的時(shí)候。此功能是實(shí)驗(yàn)性的,最好不要用。
    -S
    不顯示中值和標(biāo)準(zhǔn)偏差值,而且在均值和中值為標(biāo)準(zhǔn)偏差值的1到2倍時(shí),也不顯示警告或出錯(cuò)信息。默認(rèn)時(shí),會(huì)顯示最小值/均值/最大值等數(shù)值。(為以前的版本提供支持)
    -t timelimit
    測(cè)試所進(jìn)行的最大秒數(shù)。內(nèi)部隱含值是"-n 50000"。它可以使對(duì)服務(wù)器的測(cè)試限制在一個(gè)固定的總時(shí)間以內(nèi)。默認(rèn)時(shí),沒(méi)有時(shí)間限制。
    -T content-type
    POST數(shù)據(jù)時(shí)所使用的"Content-type"頭信息。
    -v verbosity
    設(shè)置顯示信息的詳細(xì)程度,4或更大值會(huì)顯示頭信息,3或更大值可以顯示響應(yīng)代碼(404,200等),2或更大值可以顯示警告和其他信息。
    -V
    顯示版本號(hào)并退出。
    -w
    以HTML表格形式輸出結(jié)果。默認(rèn)時(shí),它是白色背景的兩列寬度的一張表。
    -x <table>-attributes
    設(shè)置<table>屬性的字符串。此屬性被填入<table 這里 > 。
    -X proxy[:port]
    對(duì)請(qǐng)求使用代理服務(wù)器。
    -y <tr>-attributes
    設(shè)置<tr>屬性的字符串。
    -z <td>-attributes
    設(shè)置<td>屬性的字符串。

    用例

    1.測(cè)試本機(jī)apache

     

    E:\cluster>ab --1000 -100 http://localhost/
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 
    1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/

    Benchmarking localhost (be patient)
    Completed 
    100 requests
    Completed 
    200 requests
    Completed 
    300 requests
    Completed 
    400 requests
    Completed 
    500 requests
    Completed 
    600 requests
    Completed 
    700 requests
    Completed 
    800 requests
    Completed 
    900 requests
    Finished 
    1000 requests


    Server Software:        Apache
    /2.0.52
    Server Hostname:        localhost
    Server Port:            
    80

    Document Path:          
    /
    Document Length:        
    1494 bytes

    Concurrency Level:      
    100
    /*整個(gè)測(cè)試持續(xù)的時(shí)間*/
    Time taken 
    for tests:   3.296875 seconds
    /*完成的請(qǐng)求數(shù)量*/
    Complete requests:      
    1000
    /*失敗的請(qǐng)求數(shù)量*/
    Failed requests:        
    0
    Write errors:           
    0
    /*保持聯(lián)機(jī)連接的請(qǐng)求數(shù)量。只有在命令行中使用-k,才能看到該屬性值。*/
    Keep
    -Alive requests:    1000
    /*整個(gè)場(chǎng)景中的網(wǎng)絡(luò)傳輸量*/
    Total transferred:      
    1987070 bytes
    /*整個(gè)場(chǎng)景中的HTML內(nèi)容傳輸量*/
    HTML transferred:       
    1494000 bytes
    /*每秒鐘平均處理的請(qǐng)求數(shù)*/
    Requests per second:    
    303.32 [#/sec] (mean)
    /*每個(gè)線程下的一組請(qǐng)求平均消耗時(shí)間*/
    Time per request:       
    329.688 [ms] (mean)
    /*并發(fā)的每個(gè)請(qǐng)求平均消耗時(shí)間*/
    Time per request:       
    3.297 [ms] (mean, across all concurrent requests)
    /*平均每秒網(wǎng)絡(luò)上的流量,可以幫助排除是否存在網(wǎng)絡(luò)流量過(guò)大導(dǎo)致響應(yīng)時(shí)間延長(zhǎng)的問(wèn)題*/
    Transfer rate:          
    588.44 [Kbytes/sec] received

    Connection Times (ms)
                  min  mean[
    +/-sd] median   max
    Connect:        
    0    0   0.8      0      15
    Processing:     
    0  212  69.4    218     406
    Waiting:        
    0  211  69.5    218     406
    Total:          
    0  212  69.3    218     406
    /*下面的內(nèi)容為整個(gè)場(chǎng)景中所有請(qǐng)求的響應(yīng)情況。在場(chǎng)景中每個(gè)請(qǐng)求都有一個(gè)響應(yīng)時(shí)間,其中 50% 的用戶響應(yīng)時(shí)間小于 218 毫秒,66 % 的用戶響應(yīng)時(shí)間小于 234 毫秒,最大的響應(yīng)時(shí)間小于 406 毫秒*/

    Percentage of the requests served within a certain time (ms)
      
    50%    218
      
    66%    234
      
    75%    250
      
    80%    265
      
    90%    296
      
    95%    312
      
    98%    343
      
    99%    359
     
    100%    406 (longest request)

     

     

    如果你設(shè)置的-c過(guò)大,比如在windows下大于65可能出現(xiàn)的錯(cuò)誤,以下是網(wǎng)上收集的解決辦法:

    使用ab的時(shí)候當(dāng)并發(fā)數(shù)超過(guò)1024就會(huì)示出錯(cuò):
    windows下提示:apr_pollset_create failed: Invalid argument (22)
    linux下提示:socket: Too many open files (24)

    下面是從CSDN轉(zhuǎn)的一篇linux下的解決辦法
    =======================================
    ab測(cè)試apache出錯(cuò)的解決辦法 http://blog.csdn.net/answerzy/archive/2007/11/19/1892194.aspx
    [root@answer bin]# ./ab -n 20000 -c 2000 http://192.168.2.60/
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/

    Benchmarking 192.168.2.60 (be patient)
    socket: Too many open files (24)

    解決辦法: bash自帶的ulimit, 各大版本均有提供
    ulimit -n 2000(你需要的值)
    =======================================
    這應(yīng)該不難理解,linux是通過(guò)文件來(lái)對(duì)設(shè)備進(jìn)行管理,ulimit -n是設(shè)置同時(shí)打開(kāi)文件的最大數(shù)值,ab中每一個(gè)連接打開(kāi)一個(gè)設(shè)備文件,所以設(shè)置這個(gè)值就可以解決了。

     

    下面是windows下的解決辦法

    TcpTimedWaitDelay

      • 描述:確定 TCP/IP 在釋放已關(guān)閉的連接并再次使用其資源前必須經(jīng)過(guò)的時(shí)間。關(guān)閉與釋放之間的這段時(shí)間稱為 TIME_WAIT 狀態(tài)或者兩倍最大段生存期(2MSL)狀態(tài)。此時(shí)間期間,重新打開(kāi)到客戶機(jī)和服務(wù)器的連接的成本少于建立新連接。通過(guò)減少此條目的值,TCP/IP 可以更快地釋放關(guān)閉的連接,并為新連接提供更多資源。如果運(yùn)行中的應(yīng)用程序要求快速釋放連接或創(chuàng)建新連接,或者由于多個(gè)連接處于 TIME_WAIT 狀態(tài)而導(dǎo)致吞吐量較低,請(qǐng)調(diào)整此參數(shù)。
      • 如何查看或設(shè)置:

    1.     使用 regedit 命令,訪問(wèn) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters 注冊(cè)表子鍵,然后創(chuàng)建新的 REG_DWORD TcpTimedWaitDelay

    2.     將此值設(shè)置為十進(jìn)制 30,即十六進(jìn)制 0x0000001e。此值將等待時(shí)間設(shè)置為 30 秒。

    3.     停止并重新啟動(dòng)系統(tǒng)。

      • 缺省值:0xF0,此值將等待時(shí)間設(shè)置為 240 秒(4 分鐘)。
      • 建議值:最小值為 0x1E,此值將等待時(shí)間設(shè)置為 30 秒。
    • MaxUserPort
      • 描述:確定當(dāng)應(yīng)用程序向系統(tǒng)請(qǐng)求獲取可用的用戶端口時(shí),TCP/IP 可指定的最高端口號(hào)。
      • 如何查看或設(shè)置:

    1.     使用 regedit 命令,訪問(wèn) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters 注冊(cè)表子鍵,然后創(chuàng)建新的 REG_DWORD MaxUserPort

    2.     將此值至少設(shè)置為十進(jìn)制 32768

    3.     停止并重新啟動(dòng)系統(tǒng)。

      • 缺省值:無(wú)
      • 建議值:至少為十進(jìn)制 32768
    • 最大連接儲(chǔ)備
      • 描述:如果同時(shí)接收到許多連接嘗試,請(qǐng)?jiān)龃蟛僮飨到y(tǒng)支持的缺省暫掛連接數(shù)。
      • 如何查看或設(shè)置:

    1.     使用 regedit 命令并訪問(wèn) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters 注冊(cè)表子鍵。

    2.     根據(jù)需要?jiǎng)?chuàng)建并設(shè)置下列值:

    3. "EnableDynamicBacklog"=dword:00000001

    4.  

    5. "MinimumDynamicBacklog"=dword:00000020

    6.  

    7. "MaximumDynamicBacklog"=dword:00001000

    8.  

    "DynamicBacklogGrowthDelta"=dword:00000010

    9.     這些值將最小可用連接數(shù)設(shè)置為 20,將最大可用連接數(shù)設(shè)置為 1000。每當(dāng)可用連接數(shù)小于最小可用連接數(shù)時(shí),可用連接數(shù)都會(huì)增加 10

    10. 停止并重新啟動(dòng)系統(tǒng)。

    • KeepAliveInterval
      • 描述:確定 TCP 在未接收到響應(yīng)時(shí)重新嘗試保持活動(dòng)傳輸?shù)念l率。
      • 如何查看或設(shè)置:

    1.     使用 regedit 命令,訪問(wèn) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters 注冊(cè)表子鍵,然后創(chuàng)建新的 REG_DWORD KeepAliveInterval

    2.     將此值設(shè)置為 1 秒。

    3.     停止并重新啟動(dòng)系統(tǒng)。

      • 缺省值:1
      • 建議值:無(wú)

    另外作者在window xp測(cè)試時(shí),即使設(shè)置了TcpTimedWaitDelayMaxUserPort同樣會(huì)出現(xiàn)apr_pollset_create failed: Invalid argument (22)錯(cuò)誤。后下載其他版本后竟然可用,經(jīng)過(guò)檢查發(fā)現(xiàn),本機(jī)安裝的ab.exe的版本是Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0,而另外下載的版本是:Version 2.0.40-dev <$Revision: 1.1246 $> apache-2.0,下載地址:http://www.9enjoy.com/attachment.php?fid=18

     

    參考資料

    http://httpd.apache.org/docs/2.0/programs/ab.html

     

     

    posted on 2011-09-15 16:09 zhangxl 閱讀(3227) 評(píng)論(1)  編輯  收藏


    FeedBack:
    # re: Apache Benchmark(ab)使用[未登錄](méi)
    2012-02-21 16:30 | Sean
    其實(shí)就是ab版本不對(duì)  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2012年2月>
    2930311234
    567891011
    12131415161718
    19202122232425
    26272829123
    45678910

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊(cè)

    收藏夾(2)

    hibernate

    java基礎(chǔ)

    mysql

    xml

    關(guān)注

    壓力測(cè)試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96299
    • 排名 - 601

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 伊人久久五月丁香综合中文亚洲| 久久久久亚洲AV无码专区首JN| 精品亚洲永久免费精品| 久久精品国产亚洲| 亚洲国产夜色在线观看| 国产午夜亚洲精品不卡| 在线观看免费黄网站| 亚欧免费视频一区二区三区| 岛国大片免费在线观看| 亚洲午夜精品一级在线播放放 | 亚洲欧洲国产成人综合在线观看 | 国产免费MV大全视频网站| 日韩精品免费视频| 性做久久久久久久免费看| 特级毛片aaaa级毛片免费| j8又粗又长又硬又爽免费视频| 免费女人高潮流视频在线观看| 成年18网站免费视频网站| 亚洲女人被黑人巨大进入| 亚洲欧洲校园自拍都市| 国产精品亚洲精品爽爽| 日韩视频在线观看免费| 免费高清在线爱做视频| 国产亚洲综合一区柠檬导航| 精品亚洲国产成人| 国产精品免费视频观看拍拍| 2021久久精品免费观看| 亚洲国产主播精品极品网红| 亚洲欧洲国产精品久久| 特级毛片爽www免费版| 每天更新的免费av片在线观看| 国产免费人成视频在线观看| 亚洲综合日韩中文字幕v在线| 特黄aa级毛片免费视频播放| 日韩免费无码视频一区二区三区 | 亚洲国产成人久久精品影视| 亚洲另类自拍丝袜第五页| 99在线热播精品免费99热| 日本特黄a级高清免费大片| 亚洲av女电影网| 免费亚洲视频在线观看|