小而美:Web服務器負載測試工具Siege
譯文您了解Siege嗎?本文為您介紹Web服務器負載測試工具Siege,希望對您有所幫助。
Siege簡介
Siege是一款基準測試和負載測試藈,可用于測量網站服務器在面臨巨大壓力下的性能。Siege可以執行下列測試:
•傳輸的數據量。
•服務器的響應時間。
•傳輸速率。
•吞吐量。
•并發性。
•程序返回OK的次數。
Siege提供了三種操作模式:
•遞歸。
•互聯網模擬。
•蠻力。
注意:本文僅針對Debian和Ubuntu服務器。
1: 在安裝任何新程序之前,先更新你的服務器:
sudo apt-get update && sudo apt-get upgrade --show-upgraded
2: 從Siege的官方網站下載***版本的Siege:
wget http://download.joedog.org/siege/siege-3.1.0.tar.gz
3: 對文件進行解壓縮:
tar -zxvf siege-latest.tar.gz
4: 進入到Siege目錄:
cd siege-*/
5: 在配置之前,要是GNU編譯器庫(gcc)還沒有安裝,立即安裝它:
sudo apt-get install build-essential
6: 配置和完成安裝過程:
./configure
make
sudo make install
7: 生成配置文件:
siege.config
8: 之后,打開位于主目錄下的.siegerc文件。
9: 默認情況下,Siege配置建議在1分鐘的時間段內支持25個并發用戶。為你的日志文件選擇一個位置。去掉下面所示的變量前面的注釋;另外你想要其他任何的注釋設置,別忘了去掉井字號(#):
…
#
# 變量聲明。你可以在此設置變量
# 用于下列指令。例子:
# PROXY = proxy.joedog.org
# ${}或$()里面的參考變量,例子:
# proxy-host = ${PROXY}
# 你還可以引用ENVIRONMENT變量,
# 不用實際聲明變量,例子:
logfile = $(HOME)/siege.log
…
#
# 模擬并發用戶的默認數量
# ex: concurrent = 25
#
concurrent = 25
#
# siege的默認持續時間。右邊變量有一個修飾符
# 指定了時間單位,H=小時,M=分鐘和S=秒鐘。
# 如果修飾符未加以指定,那么假設時間單位是分鐘。
# ex: time = 50M
#
time = 1M
如何運行Siege?
終于,現在你可以隨時運行Siege了!
想運行Siege,輸入下面這個命令,把www.example.com換成你的IP地址或域名。
siege www.example.com
輸出結果
** SIEGE 2.70
** Preparing 25 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 2913 hits
Availability: 100.00 %
Elapsed time: 59.51 secs
Data transferred: 0.41 MB
Response time: 0.00 secs
Transaction rate: 48.95 trans/sec
Throughput: 0.01 MB/sec
Concurrency: 0.04
Successful transactions: 2913
Failed transactions: 0
Longest transaction: 0.01
Shortest transaction: 0.00
FILE: /var/log/siege.log
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.
Siege的命令和進一步配置
如果可用性仍保持100%,也沒有失效連接,那么這表明你沒有遇到任何問題。
URL文件創建
如果你想要測試網站數量,可以配置該工具,從urls.txt讀取。
1: 打開位于/usr/local/etc/urls.txt處的urls.txt文件。為該文件添加域名、頁面或IP地址。
# 需要siege的URLS文件
# --
# 用下列任何一種格式對URL條目進行格式化:
# http://www.whoohoo.com/index.html
# http://www/index.html
# www/index.html
# http://www.whoohoo.com/cgi-bin/howto/display.cgi?1013
# 為需要它的頁面使用POST指令:
# http://www.whoohoo.com/cgi-bin/haha.cgi POST ha=1&ho=2
# 或者POST來自文件的內容:
# http://www.whoohoo.com/melvin.jsp POST
# http://www.whoohoo.com/melvin.jsp POST <./haha
# 你還可以設置和引用該文件里面的變量,
# 想了解更多信息,參閱urls_txt
# -------------------------------------------------------
www.example.com
www.example.org
321.54.13.98
2: 想使用上述文件來運行Siege,輸入下面這個命令siege。
siege
3: 想換個文件,輸入下面這個命令。
siege -f your/file/path.txt
想了解關于Siege及其命令的更多信息,請訪問官方網站:https://www.joedog.org/siege-home/。
原文標題:Web Server Load Testing Tool: Siege