隨筆-204  評(píng)論-90  文章-8  trackbacks-0

          Siege(英文意思是圍攻)是一個(gè)壓力測試和評(píng)測工具,設(shè)計(jì)用于WEB開發(fā)這評(píng)估應(yīng)用在壓力下的承受能力:可以根據(jù)配置對(duì)一個(gè)WEB站點(diǎn)進(jìn)行多用戶的并發(fā)訪問,記錄每個(gè)用戶所有請(qǐng)求過程的相應(yīng)時(shí)間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。


          最早使用的壓力測試工具是apache的ab(apache benchmark),apache ab做重復(fù)壓力測試不錯(cuò),但是每次只能測試一個(gè)鏈接,如何測試一組鏈接(比如從日志中導(dǎo)出的1個(gè)小時(shí)的日志,做真實(shí)壓力測試),后來找到了這個(gè):
          Siege是一個(gè)壓力測試和評(píng)測工具,設(shè)計(jì)用于WEB開發(fā)這評(píng)估應(yīng)用在壓力下的承受能力:可以根據(jù)配置對(duì)一個(gè)WEB站點(diǎn)進(jìn)行多用戶的并發(fā)訪問,記錄每個(gè)用戶所有請(qǐng)求過程的相應(yīng)時(shí)間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。
          SIEGE is an http regressive testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. It lets the user hit a webserver with a configurable number of concurrent simulated users. Those users place the webserver "under siege." The duration of the siege is measured in transactions, the sum of simulated users and the number of times each simulated user repeats the process of hitting the server. Thus 20 concurrent users 50 times is 1000 transactions, the length of the test.

          下載/安裝
          Siege時(shí)一個(gè)開放源代碼項(xiàng)目:http://www.joedog.org

          下載:
          wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz

          安裝:
          %./configure ; make
          #make install

          siege包含了一組壓力測試工具:
          SIEGE (1) Siege是一個(gè)HTTP壓力測試和評(píng)測工具.
          使用樣例:
          任務(wù)列表:www.chedong.com.url文件
          http://www.chedong.com/tech/
          http://www.chedong.com/tech/acdsee.html
          http://www.chedong.com/tech/ant.html
          http://www.chedong.com/tech/apache_install.html
          http://www.chedong.com/tech/awstats.html
          http://www.chedong.com/tech/cache.html
          http://www.chedong.com/tech/click.html
          http://www.chedong.com/tech/cms.html
          http://www.chedong.com/tech/compress.html
          http://www.chedong.com/tech/cvs_card.html
          http://www.chedong.com/tech/default.html
          http://www.chedong.com/tech/dev.html
          http://www.chedong.com/tech/gnu.html
          ....

          siege -c 20 -r 2 -f www.chedong.com.url
          參數(shù)說明:
          -c 20 并發(fā)20個(gè)用戶
          -r 2 重復(fù)循環(huán)2次
          -f www.chedong.com.url 任務(wù)列表:URL列表

          輸出樣例:

          ** Siege 2.59
          ** Preparing 20 concurrent users for battle. 這次“戰(zhàn)斗”準(zhǔn)備了20個(gè)并發(fā)用戶
          The server is now under siege.. done. 服務(wù)在“圍攻”測試中:
          Transactions: 40 hits 完成40次處理
          Availability: 100.00 % 成功率
          Elapsed time: 7.67 secs 總共用時(shí)
          Data transferred: 877340 bytes 共數(shù)據(jù)傳輸:877340字節(jié)
          Response time: 1.65 secs 相應(yīng)用時(shí)1.65秒:顯示網(wǎng)絡(luò)連接的速度
          Transaction rate: 5.22 trans/sec 平均每秒完成5.22次處理:表示服務(wù)器后臺(tái)處理的速度
          Throughput: 114385.92 bytes/sec 平均每秒傳送數(shù)據(jù):114385.92字節(jié)
          Concurrency: 8.59 最高并發(fā)數(shù) 8.59
          Successful transactions: 40 成功處理次數(shù)
          Failed transactions: 0 失敗處理次數(shù)

          注意:由于速度很快,可能會(huì)達(dá)不到并發(fā)速度很高就已經(jīng)完成。Response time顯示的是測試機(jī)器和被測試服務(wù)器之間網(wǎng)絡(luò)鏈接狀況。Transaction rate則表示服務(wù)器端任務(wù)處理的完成速度。

          輔助工具:
          增量壓力測試:


          為了方便增量壓力測試,siege還包含了一些輔助工具:
          bombardment (1)
          是一個(gè)輔助工具:用于按照增量用戶壓力測試:
          使用樣例:
          bombardment urlfile.txt 5 3 4 1
          初始化URL列表:urlfile.txt
          初始化為:5個(gè)用戶
          每次增加:3個(gè)用戶
          運(yùn)行:4次
          每個(gè)客戶端之間的延遲為:1秒

          輸出成CSV格式:
          siege2csv.pl (1)
          siege2csv.pl將bombardment的輸出變成CSV格式:
          Time Data Transferred Response Time Transaction Rate Throughput Concurrency Code 200 (note that this is horribly broken.)
          242 60.22 603064 0.02 4.02 10014.35 0.08
          605 59.98 1507660 0.01 10.09 25136.05 0.12
          938 59.98 2337496 0.02 15.64 38971.26 0.26
          1157 60 2883244 0.04 19.28 48054.07 0.78

          參考:
          開源測試工具:http://www.opensourcetesting.org/performance.php

          壓力測試工具:HammerHead 正在試用中

          posted on 2007-09-20 17:56 一凡 閱讀(362) 評(píng)論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 河南省| 叶城县| 水富县| 昆山市| 古田县| 津南区| 湘潭县| 瓦房店市| 庆城县| 玉田县| 个旧市| 阳西县| 彰武县| 屏山县| 巴青县| 富裕县| 海丰县| 阿合奇县| 定陶县| 乐陵市| 永宁县| 弥勒县| 博乐市| 台北县| 宽甸| 武威市| 静宁县| 道孚县| 松阳县| 江孜县| 新泰市| 阜新市| 彩票| 健康| 古蔺县| 萝北县| 成都市| 晋城| 夹江县| 崇文区| 泌阳县|