Mac下安裝siege和使用

Mac下安裝siege和使用

什麼是Siege?

    Siege是一個壓力測試和評測工具,設計用於WEB開發這評估應用在壓力下的承受能力:可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。(注意:Siege不支援https訪問)

下載及安裝

    下載:wget http://www.joedog.org/pub/siege/siege-latest.tar.gz

    解壓: tar -zxvf siege-latest.tar.gz

    cd siege-*.*.*
    ./configure 
    make
    make install

    檢視配置檔案
    /usr/local/siege/bin/siege -C

siege壓測命令

-C, --config 在螢幕上列印顯示出當前的配置,配置是包括在他的配置檔案$HOME/.siegerc中,可以編輯裡面的引數,這樣每次siege 都會按照它執行.
-v, --verbose 執行時能看到詳細的執行資訊.
-c, --concurrent=NUM 模擬有n個使用者在同時訪問,n不要設得太大,因為越大,siege消耗本地機器的資源越多.
-r, --reps=NUM 重複執行測試n次,不能與-t同時存在
-t, --time=NUMm 持續執行siege ‘n’秒(如10S),分鐘(10M),小時(10H)
-d, --delay=NUM 每個url之間的延遲,在0-n之間.
-b, --benchmark 請求無需等待 delay=0.
-i, --internet 隨機訪問urls.txt中的url列表項.
-f, --file=FILE 指定用特定的urls檔案執行 ,預設為urls.txt,位於siege安裝目錄下的etc/urls.txt
-R, --rc=FILE 指定用特定的siege 配置檔案來執行,預設的為$HOME/.siegerc
-l, --log[=FILE] 執行結束,將統計資料儲存到日誌檔案中siege .log,一般位於/usr/local/var/siege .log中,也可在.siegerc中自定義

siege壓測結果

//併發10個,發生5次,共50個請求
siege -c 10 -r 5 http://www.baidu.com
Transactions:		         300 hits //總共測試次數
Availability:		       85.71 % //成功次數百分比
Elapsed time:		        5.18 secs //總共耗時多少秒
Data transferred:	       10.25 MB //總共資料傳輸
Response time:		        0.12 secs //等到響應耗時
Transaction rate:	       57.92 trans/sec //平均每秒處理請求數
Throughput:		        1.98 MB/sec //吞吐率
Concurrency:		        6.81 //最高併發
Successful transactions:         300 //成功的請求數
Failed transactions:	          50 //失敗的請求數
Longest transaction:	        1.11 //每次傳輸所花最長時間
Shortest transaction:	        0.02 //每次傳輸所花最短時間

失敗的請求:全部都是https訪問的,由此可見Siege不支援https訪問。

常用命令

# 200個併發對http://www.google.com傳送請求100次
siege -c 200 -r 100 http://www.google.com
# 在urls.txt中列出所有的網址
siege -c 200 -r 100 -f urls.txt
# 隨機選取urls.txt中列出所有的網址
siege -c 200 -r 100 -f urls.txt -i
# delay=0,更準確的壓力測試,而不是功能測試
siege -c 200 -r 100 -f urls.txt -i -b
# 指定http請求頭 文件型別
siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

注意事項

傳送post請求時,url格式為http://www.xxxx.com/ POST param1=v1&param1=v22
如果url中含有空格和中文,要先進行url編碼,否則siege傳送的請求url不準確。