paulwong

          Linux 下 Siege 壓力測(cè)試

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

          說(shuō)明

          ab的主要弱點(diǎn)在于它不能讓你模擬一個(gè)更加真實(shí)的請(qǐng)求分布——例如你想通過(guò)設(shè)置一個(gè)請(qǐng)求的列表來(lái)在這些列表之間來(lái)回測(cè)試,而siege就可以。

          安裝

          siege需要自己從http://www.joedog.org/上自己下載,然后編譯:


          注意在configure的時(shí)候,一定要設(shè)置mandir參數(shù),否則當(dāng)你通過(guò) man siege查看siege幫助的時(shí)候會(huì)看不到他的manual.
          wget http://www.joedog.org/pub/siege/siege-3.0.5.tar.gz
          tar -zxf siege-2.67.tar.gz
          ./configure --prefix=/usr/local/siege --mandir=/usr/local/man
          make
          # 轉(zhuǎn)到超級(jí)用戶
          make install
          安裝完成后,運(yùn)行bin中的siege_config命令來(lái)創(chuàng)建.siege文件之后,你可以通過(guò)

          ./siege -C
          命令來(lái)查看當(dāng)前配置

          最簡(jiǎn)單的使用命令:

          ./siege http://localhost/
          #用來(lái)測(cè)試本地主頁(yè)


          參數(shù)介紹

          -cNUM
          設(shè)置并發(fā)的用戶(連接)數(shù)量. 默認(rèn)的連接數(shù)量可以到~/.siegerc中查看,指令為concurrent = x。比如-c10,設(shè)置并發(fā)10個(gè)連接

          -rNUM
          (repetitions),重復(fù)數(shù)量,即每個(gè)連接發(fā)出的請(qǐng)求數(shù)量,設(shè)置這個(gè)的話,就不需要設(shè)置-t了。對(duì)應(yīng).siegerc配置文件中的reps = x指令

          -tNUM
          (time),持續(xù)時(shí)間,即測(cè)試持續(xù)時(shí)間,在NUM時(shí)間后結(jié)束,單位默認(rèn)為分,比如-t10,那么測(cè)試時(shí)間為10分鐘,-t10s,則測(cè)試時(shí)間為10秒鐘。對(duì)應(yīng).siegerc中的指令為time = x指令

          -b
          (benchmark),基準(zhǔn)測(cè)試,如果設(shè)置這個(gè)參數(shù)的話,那么delay時(shí)間為0。man siege中有一句話這樣說(shuō):

          it's not recommanded that you use this option while load testing.

          說(shuō)明基準(zhǔn)測(cè)試和load testing 是完全不同的,至于有什么不同,可以閱讀BenchMarkingVSLoadTestingVSPerformance.

          -f url.txt
          (file),這是文件。對(duì)應(yīng).siegerc配置文件中的file = x指令

          其他比較關(guān)注的測(cè)試方法,比如我想使用Keep-Alive方式進(jìn)行測(cè)試,可以在.siegerc配置文件中進(jìn)行修改,將connect = close改為 connect = keep-alive
          另外您還可以通過(guò)-H HEADER參數(shù)來(lái)設(shè)置請(qǐng)求header。


          結(jié)果說(shuō)明
          Lifting the server siege… done.
          Transactions: 3419263 hits //完成419263次處理
          Availability: 100.00 % //100.00 % 成功率
          Elapsed time: 5999.69 secs //總共用時(shí)
          Data transferred: 84273.91 MB //共數(shù)據(jù)傳輸84273.91 MB
          Response time: 0.37 secs //相應(yīng)用時(shí)1.65秒:顯示網(wǎng)絡(luò)連接的速度
          Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次處理:表示服務(wù)器后
          Throughput: 14.05 MB/sec //平均每秒傳送數(shù)據(jù)
          Concurrency: 213.42 //實(shí)際最高并發(fā)數(shù)
          Successful transactions: 2564081 //成功處理次數(shù)
          Failed transactions: 11 //失敗處理次數(shù)
          Longest transaction: 29.04 //每次傳輸所花最長(zhǎng)時(shí)間
          Shortest transaction: 0.00 //每次傳輸所花最短時(shí)間

          posted on 2014-02-18 11:06 paulwong 閱讀(363) 評(píng)論(0)  編輯  收藏 所屬分類: 性能優(yōu)化

          主站蜘蛛池模板: 新宾| 太湖县| 漳平市| 安图县| 玛沁县| 辛集市| 玛纳斯县| 常宁市| 屯昌县| 新巴尔虎左旗| 门头沟区| 运城市| 百色市| 武胜县| 新乡市| 濉溪县| 夹江县| 杭锦后旗| 台江县| 连江县| 丹棱县| 简阳市| 乐都县| 两当县| 武山县| 台山市| 岚皋县| 武邑县| 江华| 巴青县| 新和县| 尖扎县| 沙坪坝区| 搜索| 城市| 中宁县| 新津县| 高碑店市| 澄江县| 盱眙县| 于田县|