安裝Siege(centos)
1.5.1 安裝Siege
可以通過從官方網站www.joedog.org/index/siege-home或http://freshmeat.net/ projects/siege下載源代碼或者使用存儲庫(如port或aptitude)以及以下所示的命令之一安裝Siege:
- sudo port install siege
- sudo aptitude install siege
使用其中一個命令,Siege將自動安裝所有必需的程序包。在編寫本書時,Siege的最新穩定版本爲2.69。
很遺憾,如果沒有Cygwin,Windows用戶將不能使用Siege。如果你使用的是Windows,請先下載Cygwin並安裝該軟件,然後再嘗試安裝和運行Siege。安裝完Cygwin之後,使用本部分中概述的步驟安裝Siege。
如果你決定使用源代碼安裝,可能會在下載程序包時遇到問題,此時,請打開一個終端窗口並鍵入以下內容。
- wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz
該命令會將此程序包下載到你的系統上。下載完此程序包之後,執行以下命令:
tar xvfz siege-latest.tar.gz
cd siege-2.69/
./configure
make
sudo make install
這些命令將配置源代碼、創建安裝程序包並最終在系統上安裝此程序包。安裝完成後,將你的目錄位置更改爲/usr/local/bin/。你應該會在此目錄中看到Siege腳本。
下面,我們繼續進行並在域www.example.com上運行一個簡單測試,以便查看示例結果。(注:
-bash: make: command not found的解決辦法
1.5.2 運行Siege
第一個示例是對www.example.com的一個簡單負載測試。與ab一樣,Siege遵循特定的語法格式。
- siege [options] [URL]
- siege -c 5 -t10S http://www.example.com/
該命令使用兩個選項標記:併發標記c和時間標記t。使用併發標記,可以通過X(在本例中爲5)個用戶同時訪問網站來測試請求。數字可以是任意數字,只要運行測試的系統可以支持這樣一個任務即可。t標記以秒(S)、分鐘(M)或小時(H)爲單位指定時間,並且數字和字母之間沒有空格。
運行此命令之後,你應該會看到類似於圖1-8的輸出。
圖1-8 www.example.com的Siege響應(10秒內5個併發請求) |
1.5.3 分析結果
與ab結果一樣,Siege工具的結果也分爲幾個部分。具體來說,結果集有兩個部分需要分析:
單個請求詳細信息;
測試指標。
1. 單個請求詳細信息
單個請求詳細信息部分顯示了該工具創建和運行的所有請求。每一行都代表一個唯一的請求並且包含三列,如圖1-9所示。
圖1-9 Siege請求數據 |
該輸出包含運行的初始Siege命令的請求示例。各列所代表的內容如下:
HTTP響應狀態代碼;
完成請求所需的總時間;
作爲響應所收到的數據總量(不包括標頭數據)。
2. 測試指標
測試指標部分包含有關整個負載測試的信息。表1-4列出並描述了所有字段,你可以仔細查看一下。我們只對Data transferred、Transaction rate、Longest transaction以及Shortest transaction感興趣。我們將重點介紹結果中的這些特定屬性,因爲它們顯示出了優化應用程序的效果。
表1-4 Siege測試指標部分描述
字段名稱 |
描述 |
示 例 值 |
Transactions |
已完成的事務總數 |
102 hits |
Availability |
能夠請求Web文檔的時間 |
100.00% |
Elapsed Time |
完成測試所需的總時間 |
9.71 secs |
Data transferred |
響應中數據的總大小 (不包括標頭數據) |
0.04M |
Response time |
整個測試過程中的 平均響應時間 |
0.02 secs |
Transaction rate |
每秒要滿足的事務總數 |
10.50 trans/sec |
Throughput |
處理數據和響應所需的總時間 |
0.00 MB/sec |
Concurrency |
Concurrency是同時連接 的平均數,該 |
5 |
Successful transactions |
整個測試過程中所執行 的成功的事務總數 |
102 |
Failed transactions |
整個測試過程中遇到的失 敗的事務總數 |
0 |
Longest transaction |
滿足一個請求所需的最長時間 |
0.03 |
Shortest transaction |
滿足一個請求所需的最短時間 |
0.02 |
Data transferred 部分包含每個請求收到的響應的總大小(以MB爲單位)。Transaction rate幫助我們瞭解當Web服務器在我們命令指定的負載下運行時可以滿足的併發事務數(同時發生的請求)。在本例中,Web服務器在10秒之內5個併發請求的負載下時,Web服務器可以每秒滿足10.50個事務。
Shortest transaction和Longest transaction字段告訴我們滿足一個請求所需的最短時間(以秒爲單位)以及滿足一個請求所需的最長時間(以秒爲單位)。1.5.4 Siege選項標記
Siege也包含很多可選標記,如果感興趣,可以使用以下命令查看這些標記:
- siege -h