天天看點

壓測工具的實踐

  1. 壓測工具apache ab /webbentch

    1.Apache的ab指令模拟多線程并發請求,測試伺服器負載壓力,也可以測試nginx、lighthttp、IIS等其它Web伺服器的壓力。ab指令  對發出負載的計算機要求很低,既不會占用很多CPU,也不會占用太多的記憶體,但卻會給目标伺服器造成巨大的負載。ab是最常用  的壓測工具。

   2.ebbech能測試處在相同硬體上,不同服務的性能以及不同硬體上同一個服務的運作狀況.webBech的标準測試可以向我們展示伺服器的兩項 内容:每秒鐘相應請求數和每秒鐘傳輸資料量.webbench不但能具有便準靜态頁面的測試能力,還能對動态頁面(ASP,PHP,JAVA,CGI)進 行測試的能力.還有就是他支援對含有SSL的安全網站例如電子商務網站進行靜态或動态的性能測試.

一 .壓測工具的安裝

     1.壓測工具apache ab的安裝

      在ubuntu1404的環境下

      sudo apt-get install apache2-utils

2.壓測工具webbentch的安裝

         安裝依賴ctags

         sudo apt-get install exuberant-ctags

          因為沒有apt包,是以隻能編譯安裝

                  wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz

          tar zxvf webbench-1.5.tar.gz

          cd webbench-1.5

          make && make install(不需要編譯)

二. 壓測工具的使用

   1.壓測工具apache ab的使用

ab [options] [http[s]://]hostname[:port]/path

[options]:

      -n requests  請求數

      -c concurrency  并發數

      -t timelimit    Seconds to max. to spend on benchmarking

                   This implies -n 50000

      -s timeout      每個請求的最大請求時間,預設30秒

      -b windowsize   TCP發送/接受的緩存的大小,機關是位元組

      -B address      Address to bind to when making outgoing connections

      -p postfile      File containing data to POST. Remember also to set -T

      -u putfile      File containing data to PUT. Remember also to set -T

      -T content-type  指定内容類型,如 -T 'application/x-www-form-urlencoded' 預設類型是'text/plain'。

      -v verbosity    多少故障排除資訊數時去列印

      -w           輸出HTML TABLE裡的結果

      -i           用 HEAD 代替 GET

      -x attributes   table屬性

      -y attributes   tr屬性

      -z attributes   th/td屬性

     -C attribute    添加如 -C 'Apache = 1234' (可重複)

     -H attribute    添加請求頭行, eg. 'Accept-Encoding: gzip'。 插入到所有普通頭部行後,(可重複)

     -A attribute    添加一個WWW認證, 這個屬性是用冒号分割的使用者名和密碼。

     -P attribute    添加基本代理認證。這個屬性是用冒号分割的使用者名和密碼。

     -X proxy:port    使用的代理伺服器:端口号

     -V           版本号

     -k          使用長連接配接

     -d          不顯示百分比表

     -S          不顯示信任的評估和警告

     -q          不顯示進展當超過150個請求時

     -l          接受可變的檔案長度(使用此為動态網頁)

     -g filename     輸出收集資料到gnuplot格式的檔案裡.

     -e filename     輸出服務端百分比到csv檔案

     -r           接收錯誤不退出

     -h           顯示使用資訊

     -Z ciphersuite   指定 SSL/TLS 密碼套件 (見OpenSSL密碼)

     -f protocol     指定 SSL/TLS 協定,(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)

 2. 壓測工具webbentch的使用

    webbench [option]... URL

          -f|--force   不等待伺服器的回複.

          -r|--reload   重發 - Pragma: no-cache.

             -t|--time <sec>  基準時間,預設30秒

             -p|--proxy <server:port> 使用代理伺服器去請求.

             -c|--clients <n>      用戶端數,并發數,預設為1

          -9|--http09          使用 HTTP/0.9 版本去請求

          -1|--http10          使用 HTTP/1.0 協定.

          -2|--http11          使用 HTTP/1.1 協定.

          --get              使用 GET 請求方法.

           --head              使用 HEAD 請求方法.

             --options           使用 OPTIONS 請求方法 .

          --trace             使用 TRACE  請求方法.