簡介
siege是一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的併發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。
下載安裝
環境:centos 6.4 私有服務器
官網地址:http://download.joedog.org/siege/
1.下載:wget http://download.joedog.org/siege/siege-4.0.4.tar.gz
2.解壓、配置安裝
tar xzvf siege-4.0.4.tar.gz
編譯、安裝
cd siege-4.0.4
./configure
make && make install
注意:如果沒有安裝編譯工具,請先安裝
sudo apt-get install build-essential
3.創建配置文件(也可以不創建)
siege.config
修改配置文件
打開~/.sige/sige.conf文件,修改logfile選項
logfile=$(HOME)/sige.log
4.配置環境變量
正常的話都是默認加入環境變量的,但是我的可能是私有服務器的原因需要配置環境,
配置過程如下:
首先:執行siege -v 發現報錯,bash:siege:command not found
接着:查看下siege的執行文件位置:
whereis siege
找到了之後就添加把:
執行命令:
vi /etc/profile
添加如下:
修改完成之後保存退出,運行 source /etc/profile
讓其立即生效!
再次運行成功了。
二、siege的常見參數
-h幫助
-c 指定併發數(是真併發)
-r 指定重複次數
-d 指定請求的延遲時間,注意每個請求間的隨機延遲(模擬用戶的思考時間,最多延遲一分鐘,其他都是隨機默認在一分鐘之內)
-f 指定url列表,可以一次給多個地址加壓(多用於翻頁的Url測試)
-t 指定用例執行時間,比如,-t 10s,-t 1M(H)之類(主要用於穩定性性測試,長時間進行加壓,最容易發現內存泄露的問題)
-g 獲取請求的headers信息並打印出來,debug專用
-H指定請求的headers信息
-l或者–log=[File]指定測試結果的路徑
用法示例
用法示例
siege -c 50 -r 100 -u http://192.168.91.100
結果說明
5、結果說明
** SIEGE 2.72
** Preparing 300 concurrent users for battle.
The server is now under siege… done.
Transactions: 30000 hits //完成30000次處理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 68.59 secs //總共使用時間
Data transferred: 817.76 MB //總數據傳輸(不包含頭數據)*****
Response time: 0.04 secs //平均響應時間
Transaction rate: 437.38 trans/sec //平均每秒完成 437.38 次處理******
Throughput: 11.92 MB/sec //平均每秒傳送數據
Concurrency: 17.53 //實際最高併發連接數
Successful transactions: 30000 //成功處理次數
Failed transactions: 0 //失敗處理次數
Longest transaction: 3.12 //滿足一個請求所需最長時間*****
Shortest transaction: 0.00 //滿足一個請求所需最短時間 ******
Data transferred部分包含每個請求收到的響應的總大小(MB)。
Transaction rate幫助我們瞭解當Web服務器在我們命令指定的負載下運行時可以滿足的併發事務數(同時發生的請求)。
hhtps參考文獻:https://www.jianshu.com/p/74c465ff136f