簡介
Siege是一個壓力測試和評測工具,設計用於WEB開發這評估套用在壓力下的承受能力:可以根據配置對一個WEB站點進行多用戶的並發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的並發訪問下重複進行。
Siege是一個多執行緒http負載測試和基準測試工具。
Siege:這是Linux系統下的一個測試工具,完全使用C語言實現,可以對HTTP和FTP伺服器進行負載和性能測試。通過使用Siege 提供的功能,可以很容易的制定測試計畫:包括規定使用並發用戶數、重複數量,從而可以模擬在伺服器、網路或者其它對象上附加負載以測試他們提供服務的受壓能力,方便的測試伺服器的性能。最後,利用Siege提供的測試結果來分析性能指標或者分析他們提供的服務在不同負載條件下的性能情況,分析測試結果,找出影響系統性能的瓶頸。
功能
模擬多用戶對Web套用系統進行訪問測試,從而達到性能的測試和評價。它有3種操作模式:
1.Regression(when invoked by bombardment) siege 從配置檔案中讀取URLs,按遞歸方式,逐個傳送請求
2. Internet simulation (Siege從配置檔案中讀取URLs,隨機選取URL傳送請求)
3. Brute force (在命令行上寫上一個單獨的URL,傳送請求)
輸入項
| 輸入名稱 | 解釋說明 |
| -V, --version | 列印版本信息 |
| -h, --help | 列印幫助信息 |
| -C, --config | 顯示配置信息。 |
| -v, --verbose | 列印冗餘配置信息。 |
| -g, --get | 顯示HTTP交易。 |
| -c, --concurrent=NUM | 設定並發用戶數 |
| -u, --url="URL" | 設定被測Web的URL |
| -i, --internet | 用戶模擬、隨機訪問URL |
| -b, --benchmark . | 基準測試。 |
| -t, --time=NUM | 設定測試時間。 |
| -r, --reps=NUM | 設定測試次數 |
| -f, --file=FILE | 更改配置檔案存檔 |
| -R, --rc=FILE | 更改siegerc檔案和環境變數 |
| -l, --log | 測試日誌 |
| -m, --mark="text" | 標記測試日誌 |
| -d, --delay=NUM | 設定時間延遲 |
| -H, --header="text" | 增加測試頭檔案 |
| -A, --user-agent="text" | 設定代理測試請求 |
輸出項
| 輸出名稱 | 解釋說明 |
| Transactions: | 訪問次數 |
| Availability: | 成功次數 |
| Elapsed time: | 測試用時 |
| Data transferred: | 測試傳輸數據量 |
| Response time: | 平均回響時間 |
| Transaction rate: | 每秒事務處理量 |
| Throughput: | 吞吐率 |
| Concurrency: | 並發用戶數 |
| Successful transactions: | 成功傳輸次數 |
| Failed transactions: | 失敗傳輸次數 |
| Longest transaction: | 最長回響時間 |
| Shortest transaction: | 最短回響時間 |
缺陷
在多次的web測試實踐中,發現Siege只輸出了測試結果。存儲了概要測試測試結果。沒有詳細的測試過程存儲。無法分析在何時出現了問題,無法詳細了解測試過程的細節問題。使得無法進一步對web的性能進行分析和評價。
Siege 是輕量的測試框架,腳本所處理的測試用例構成簡單,其實質就是通過HTTP 協定,傳送請求來完成測試用例,所以很困難處理業務邏輯關係強的測試用例,例如,登錄測試。
版本發布
2012年04月18日,Siege 2.73b2 發布,該版本修復了 Debian 下編號為 #665407 的 bug,另外增加了向後兼容的條件。
2012年07月10日,Siege 2.73b3 發布 - 壓力測試工具。
