siege
Siege是一款高性能的Http壓力測試工具。
Siege支持身份驗證、cookies、http、https和ftp協議。
安裝Siege,安裝方法很多,具體可以自行百度。
如果要支持https,需要先下載安裝openssl, 下載地址:https://github.com/openssl/openssl
1.開始安裝openssl
git clone https://github.com/openssl/openssl
cd openssl
./config --prefix=/usr/local/openssl
make
make install
openssl version
2.開始安裝siege
下載地址:http://download.joedog.org/siege/siege-4.0.4.tar.gz
tar zxvf siege-4.0.4.tar.gz
cd siege-4.0.4
make clean
./configure --prefix=/usr/local/siege --with-ssl=/usr/local/openssl
make
make install
siege安裝完畢注意:siege默認只支持255個併發數,可以自己自定義,修改/root/.siege/siege.conf下的limit數值。
輸入參數說明
輸入名稱 | 解釋說明 |
---|---|
-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: |
最短響應時間
|
常用的siege命令舉例
# 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
httpload
http_load是基於linux平臺的性能測試工具,它體積非常小,僅100KB。它以並行複用的方式運行,可以測試web服務器的吞吐量與負載。
一、安裝http_load
A、進入/usr/local目錄下創建man文件夾,並賦予權限;
[root@localhost ~]#cd /usr/local
[root@localhost local]#mkdir man
[root@localhost local]#chmod 777 man
B、進man文件夾中,下載http_load安裝包;
[root@localhost local]#cd man
[root@localhost man]# wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
C、解壓、並安裝http_load-12mar2006.tar.gz包;
[root@localhost man]# tar zxvf http_load-12mar2006.tar.gz
[root@localhost man]# cd http_load-12mar2006
[root@localhost http_load-12mar2006]# make
[root@localhost http_load-12mar2006]# sudo make install
二、使用方法
1、每次使用前,需要先切換到http_load目錄下
cd http_load-12mar2006
2、瞭解參數和文件
參數 | 全稱 | 含義 |
-p | -parallel | 併發的用戶進程數。 |
-f | -fetches | 總計的訪問次數 |
-r | -rate | 含義是每秒的訪問頻率 |
-s | -seconds | 連續的訪問時間 |
url | 網站連接地址或url文件 |
其中,“url”是http_load-12mar2006目錄下其中一個文件,在使用前,先在http_load-12mar2006新建一個空白的名爲urls.txt的文件,使用vi命令新建。urls.txt文件,每個URL一行,且不能有空行,否則報錯。
http_load使用方式:
http_load -parallel 100 -fetches 10000
#100個併發執行10000次
http_load -parallel 100 -seconds 3600
#100個併發執行1小時
http_load -rate 100 -fetches 10000
#每秒100個請求頻率,請求10000次
http_load -rate 100 -seconds 3600
#每秒100個請求頻率執行1小時
iperf
iperf是一種命令行工具,用於通過測量服務器可以處理的最大網絡吞吐量來診斷網絡速度問題。它在遇到網絡速度問題時特別有用,通過該工具可以確定哪個服務器無法達到最大吞吐量。常用來壓測帶寬。
CentOS 安裝
- CentOS存儲庫沒有iperf,使用EPEL存儲庫,它是用於在Redhat系統上安裝第三方軟件包的存儲庫
yum install -y epel-release
yum update
yum install -y iperf
iperf -h ##查看使用方法
如何使用iperf
-
必須在測試的兩臺服務器上同時安裝iPerf。
-
默認往服務端打的是上行流量,所以要適時的選擇誰做服務端,誰做客戶端,或者選擇雙向測試。
TCP客戶端和服務器舉例
-
iperf需要兩個系統,因爲一個系統必須充當服務端,另外一個系統充當客戶端,客戶端連接到需要測試速度的服務端
1.服務端:以服務器模式啓動iperf -s -
客戶端 iperf -c 198.51.100.5
-