1. 程式人生 > >Siege壓力測試和評測工具

Siege壓力測試和評測工具

Web壓力測試的工具:微軟的Web Application StressLinux下的siege、功能全面的Web-CT等等,這些都是非常優秀的Web壓力測試工具。

   最早使用的web壓力測試工具是apache的ab(apache benchmark),apache ab做重複壓力測試不錯,但是每次只能測試一個連結,如何測試一組連結(比如從日誌中匯出的1個小時的日誌,做真實壓力測試).
   Siege是一個壓力測試和評測工具,設計用於WEB開發這評估應用在壓力下的承受能力:可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。

SIEGE is an http regressive testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. It lets the user hit a webserver with a configurable number of concurrent simulated users. Those users place the webserver "under siege." The duration of the siege is measured in transactions, the sum of simulated users and the number of times each simulated user repeats the process of hitting the server. Thus 20 concurrent users 50 times is 1000 transactions, the length of the test.

下載:
wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz

安裝:
./configure ; make
#make install

siege包含了一組壓力測試工具:
SIEGE (1) Siege是一個HTTP壓力測試和評測工具.
使用樣例:
任務列表:www.chedong.com.url檔案
http://www.chedong.com/tech/
http://www.chedong.com/tech/acdsee.html
http://www.chedong.com/tech/ant.html
http://www.chedong.com/tech/apache_install.html
http://www.chedong.com/tech/awstats.html
http://www.chedong.com/tech/cache.html
http://www.chedong.com/tech/click.html
http://www.chedong.com/tech/cms.html
http://www.chedong.com/tech/compress.html
http://www.chedong.com/tech/cvs_card.html
http://www.chedong.com/tech/default.html
http://www.chedong.com/tech/dev.html
http://www.chedong.com/tech/gnu.html
....

siege -c 20 -r 2 -f www.chedong.com.url 
引數說明:
-c 20 併發20個使用者
-r 2 重複迴圈2次
-f www.chedong.com.url 任務列表:URL列表

輸出樣例:

** Siege 2.59
** Preparing 20 concurrent users for battle. 這次“戰鬥”準備了20個併發使用者
The server is now under siege.. done. 服務在“圍攻”測試中:
Transactions: 40 hits 完成40次處理
Availability: 100.00 % 成功率
Elapsed time: 7.67 secs 總共用時
Data transferred: 877340 bytes 共資料傳輸:877340位元組
Response time: 1.65 secs 相應用時1.65秒:顯示網路連線的速度
Transaction rate: 5.22 trans/sec 平均每秒完成5.22次處理:表示伺服器後臺處理的速度
Throughput: 114385.92 bytes/sec 平均每秒傳送資料:114385.92位元組
Concurrency: 8.59 最高併發數 8.59
Successful transactions: 40 成功處理次數
Failed transactions: 0 失敗處理次數

注意:由於速度很快,可能會達不到併發速度很高就已經完成。Response time顯示的是測試機器和被測試伺服器之間網路連結狀況。Transaction rate則表示伺服器端任務處理的完成速度。

輔助工具:
增量壓力測試:


為了方便增量壓力測試,siege還包含了一些輔助工具:
bombardment (1) 
是一個輔助工具:用於按照增量使用者壓力測試:
使用樣例:
bombardment urlfile.txt 5 3 4 1
初始化URL列表:urlfile.txt
初始化為:5個使用者
每次增加:3個使用者
執行:4次
每個客戶端之間的延遲為:1秒

輸出成CSV格式:
siege2csv.pl (1) 
siege2csv.pl將bombardment的輸出變成CSV格式:
Time Data Transferred Response Time Transaction Rate Throughput Concurrency Code 200 (note that this is horribly broken.) 
242 60.22 603064 0.02 4.02 10014.35 0.08
605 59.98 1507660 0.01 10.09 25136.05 0.12
938 59.98 2337496 0.02 15.64 38971.26 0.26
1157 60 2883244 0.04 19.28 48054.07 0.78

首先,進行安裝:

wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz
tar zxvf siege
-latest.tar.gz
cd siege
-2.67./configure
make
&& make install
安裝完成後,就可以開始進行壓力測試了
修改siege配置
vi ~/.siegerc
調整:
verbose =false
concurrent
=50
delay
=1
internet
=true
benchmark
=true

siege引數介紹:

* -cNUM

設定併發的使用者(連線)數量,比如-c10,設定併發10個連線。預設的連線數量可以到~/.siegerc中檢視,指令為concurrent = x,前面咱們已經調整了預設併發連線為50。

* -rNUM

(repetitions),重複數量,即每個連線發出的請求數量,設定這個的話,就不需要設定-t了。對應.siegerc配置檔案中的reps = x指令

* -tNUM

(time),持續時間,即測試持續時間,在NUM時間後結束,單位預設為分,比如-t10,那麼測試時間為10分鐘,-t10s,則測試時間為10秒鐘。對應.siegerc中的指令為time = x指令

* -b

(benchmark),基準測試,如果設定這個引數的話,那麼delay時間為0。在.siegerc中咱們修改為預設開啟。

* -f url.txt

(file),這是url列表檔案。對應.siegerc配置檔案中的file = x指令

測試結果分析:
[[email protected] ~]# siege -c 500 -r 50 -f shunz.net.url** SIEGE 2.67**Preparing500 concurrent users for battle.The server is now under siege..done.Transactions:25000 hits
Availability:100.00%Elapsed time:65.52 secs
Data transferred:83.65 MB
Response time:0.57 secs
Transaction rate:381.56 trans/sec
Throughput:1.28 MB/sec
Concurrency:216.02Successful transactions:21707Failed transactions:0Longest transaction:5.83Shortest transaction:0.00

上面是用500併發重複測試50次shunz.net.url裡的url列表的結果,下面一條一條地分析測試結果:
Transactions: 25000 hits
意思是總共完成了25000次測試
Availability: 100.00 %
測試的有效性100%
Elapsed time: 65.52 secs
用時65.52秒
Data transferred: 83.65 MB
傳輸了83.65MB資料
Response time: 0.57 secs
響應時間
Transaction rate: 381.56 trans/sec
每秒傳輸381.56次
Throughput: 1.28 MB/sec
資料吞吐量每秒1.28MB
Concurrency: 216.02
實際併發訪問
Successful transactions: 21707
成功的傳輸
Failed transactions: 0
失敗的傳輸
Longest transaction: 5.83
每次傳輸所花最長時間
Shortest transaction: 0.00
每次傳輸所花最短時間

如果你的WEB伺服器用的是Apache,請不要將併發數設為大於200。

相關推薦

Siege壓力測試評測工具

Web壓力測試的工具:微軟的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,這些都是非常優秀的Web壓力測試工具。    最早使用的web壓力測試工具是apache的ab(apache benchmark),apach

siege壓力測試工具安裝介紹

前言 最近公司有個專案需要做一個短輪詢類推送伺服器(推送伺服器分為三種,短輪詢,長輪詢,長連線),使用者量不大,但是為了保險起見還是做一下壓力測試.用的工具是siege. 目錄 1.siege介紹 輸入引數說明: 輸入名稱 解釋

三種壓力測試工具 http_load apache ab 、 siege 壓力測試

平常使用http_load過程中的一些總結,分享出來,大家可以一起補充; 1.提示:bytes count wrong 如果httpd_load獲取到的頁面資料和上次不一致則會報錯byte count wrong 如果是動態頁面,此報錯可以忽略; 2.報錯:too many open files 系統限制的o

ubuntu上安裝siege壓力測試工具

siege工具安裝: 下載siege: wget http://download.joedog.org/siege/siege-3.1.4.tar.gz 安裝siege: 若要測試https,需先安裝openssl庫: sudo apt-get install libs

詳解MySQL基準測試sysbench工具

threads 組件 程序 原因 str 前言 全面 無法連接 不同 前言 作為一名後臺開發,對數據庫進行基準測試,以掌握數據庫的性能情況是非常必要的。本文介紹了MySQL基準測試的基本概念,以及使用sysbench對MySQL進行基準測試的詳細方法。 文章有疏漏之處,歡迎

詳解MySQL基準測試sysbench工具(轉)

lua 增刪 後臺 simple ads 執行時間 bench 進行 響應 前言 作為一名後臺開發,對數據庫進行基準測試,以掌握數據庫的性能情況是非常必要的。本文介紹了MySQL基準測試的基本概念,以及使用sysbench對MySQL進行基準測試的詳細方法。 文章有疏漏

壓力測試 apache ab工具使用說明

ab ab工具使用說明1 . 安裝ab工具命令sudo apt-get install apache2-utils 2.ab命令參數說明Usage: ab [options] [http[s]://]hostname[:

mysql測試sysbench工具詳解

無法 http six 多次 count 直接 log syntax git 前言 作為一名後臺開發,對數據庫進行基準測試,以掌握數據庫的性能情況是非常必要的。本文介紹了MySQL基準測試的基本概念,以及使用sysbench對MySQL進行基準測試的詳細方法。 文章有疏漏之

siege壓力測試

rate ons -type data log文件 amp siege hpu -i 安裝 wget http://download.joedog.org/siege/siege-latest.tar.gz tar zxf siege-latest.tar.gz cd s

詳解MySQL基準測試sysbench工具-轉載-(作者:程式設計迷思)

轉載地址:https://www.cnblogs.com/kismetv/archive/2017/09/30/7615738.html 參考:https://blog.csdn.net/oahz4699092zhao/article/details/53332105 一、基準測試簡介

如何使用 JMeter 呼叫你的 Restful Web Service?進行簡單的壓力測試自動化測試

表述性狀態傳輸(REST)作為對基於 SOAP 和 Web 服務描述語言(WSDL)的 Web 服務的簡單替代,在 Web 開發上得到了廣泛的接受。能夠充分證明這點的是主流 Web 2.0 服務提供商在介面設計中對 REST 的普遍採用 - 包括雅虎、谷歌以及臉譜 - 出於簡

什麼是壓測,為什麼要進行壓力測試?JMETER工具的使用.

1.背景介紹 效能測試是通過自動化的測試工具模擬多種正常峰值和異常負載條件來對系統的各項效能指標進行測試。 效能測試包括,負載測試,強度測試,容量測試 通過負載測試,確定在各種工作負載下系統的效能,目標是當負載逐漸增加時,測試系統各項效能指標的變 化的情況. 壓力測試是

負載測試壓力測試效能測試的異同

     負載測試(Load testing)、壓力測試(Stress Test,應稱為強度測試)和效能測試,這三個概念常常引起混淆,難以區分,從而造成不正確的理解和錯誤的使用。之前,也有不少討論,比較有名的,應歸為Grig Gheorghiu's的兩篇部落格:     負載

壓力測試系統優化tips

    昨天有個朋友問題對mina是否有什麼優化的資料,他這邊一個系統壓到500併發就上不去了,開始在看中國好聲音,也沒多想,直接說我這邊沒有。後來中間休息的時候,發現回答的有點問題,心裡覺得其實應該告訴他壓測的tips,找到瓶頸才能知道問題所在,昨晚初略的說了一下,今天把

負載測試壓力測試效能測試的區別

    負載測試(Load testing)、壓力測試(Stress Test,應稱為強度測試)和效能測試,這三個概念常常引起混淆,難以區分,從而造成不正確的理解和錯誤的使用。    目前對效能測試沒有明確的定義,一般地,它主要是針對系統的效能指標制定效能測試方案,執行測試用例,得出測試結果來驗證系統的效能

痞子衡嵌入式:分享一個i.MXRT系列配套DRAM壓力測試上位機工具(i.MXRT DRAM Tester)

-----   大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是**恩智浦SE團隊製作的i.MXRT配套DRAM壓力測試上位機工具**。   事情源於痞子衡的技術交流群裡的提問,有群友在恩智浦官方技術公眾號 [**恩智浦MCU加油站**] 裡看到的一篇文章 [《i.MX RT的DRAM測

使用web壓力測試工具 siege ab 傳送帶json資料的post請求

首先我們的json字串直接放在檔案postfile中 在我們使用json格式時,注意一定要將headers的Content_type設定為application/json,否則伺服器端可能不能正確識別傳送的body格式。 siege 經過測試的版本為3.02和3.

Web性能壓力測試工具——Siege

ren 它的 install 參數 2.7 求100 under 網址 led   最近需要對Istio裏的bookinfo進行分析,老是手去刷新太慢了,就找了個自動點的工具——Siege   Siege是一款開源的壓力測試工具,設計用於評估WEB應用在壓力下的承受能力。可

Apache ab壓力測試工具Window下載用法詳解

ab是apache自帶的網站壓力測試工具。 使用起來非常的簡單和方便。 不僅僅是可以apache伺服器進行網站訪問壓力測試,還可以對其他型別的伺服器進行壓力測試。 比如nginx,tomcat,IIS等 首先當然是下載安裝了。 在這裡只講window下在下載安裝 官方下載地址:,(htt

Linux入門實踐筆記(六)——壓力測試工具Apache Bench的安裝、使用結果解讀

內容   本文介紹了壓力測試工具Apache Bench在Centos系統中的安裝,常用的測試指令,以及測試結果的解讀。 版本 ​  作業系統: CentOS 7.2 64位   Apache Bench:2.3 說明   轉載請說明出處:Linux入門實踐筆記(六)——壓力測試工具Apache