1. 程式人生 > >網站 壓力測試工具 Siege,webbench,ab

網站 壓力測試工具 Siege,webbench,ab

網站做好了,當然要做測試,壓力測試是測試中重要的環節。
介紹下基於linux的3款壓力測試工具:Siege,webbench,ab
1.Siege
一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。
獲取:http://www.joedog.org/
官方提供ftp下載

解壓:
# tar -zxf siege-latest.tar.gz
進入解壓目錄:
# cd siege-2.65/
安裝:
#./configure ; make
#make install

使用
siege -c 200 -r 10 -f example.url
-c是併發量,-r是重複次數。 url檔案就是一個文字,每行都是一個url,它會從裡面隨機訪問的。

example.url內容:

http://www.taoav.com
http://www.tuhaoduo.com
http://www.tiaonv.com

結果說明
Lifting the server siege… done.
Transactions: 3419263 hits //完成419263次處理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 5999.69 secs //總共用時
Data transferred: 84273.91 MB //共資料傳輸84273.91 MB
Response time: 0.37 secs //相應用時1.65秒:顯示網路連線的速度
Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次處理:表示伺服器後
Throughput: 14.05 MB/sec //平均每秒傳送資料
Concurrency: 213.42 //實際最高併發數
Successful transactions: 2564081 //成功處理次數
Failed transactions: 11 //失敗處理次數
Longest transaction: 29.04 //每次傳輸所花最長時間
Shortest transaction: 0.00 //每次傳輸所花最短時間

2.webbench

獲取並安裝
wget http://home.tiscali.cz:8080/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
如果找不到源就網上搜個吧

使用:
webbench -c 500 -t 30 http://www.taoav.com
引數說明:-c表示併發數,-t表示時間(秒)
4測試結果示例:
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.taoav.com
500 clients, running 30 sec.

Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.

3.ab
apache自帶測試工具,在apache2的bin目錄裡

測試例子: ab -n 10000 -c 100 -t 10 http://www.taoav.com/index.php
引數: -n 表示請求總數, -c 表示併發數. -t 表示請求時間限制

以下為結果
Server Software: Apache/2.0.53
Server Hostname: www.taoav.com
Server Port: 80

Document Path: /index.php
Document Length: 17998 bytes

Concurrency Level: 100
Time taken for tests: 660.930623 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 181850000 bytes
HTML transferred: 179980000 bytes
Requests per second: 15.13 [#/sec] (mean)
Time per request: 6609.306 [ms] (mean)
Time per request: 66.093 [ms] (mean, across all concurrent requests)
Transfer rate: 268.69 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 15 117.6 0 1730
Processing: 436 6564 1142.2 6517 15395
Waiting: 340 4164 1512.2 3906 14973
Total: 436 6579 1143.4 6526 15395

Percentage of the requests served within a certain time (ms)
50% 6526
66% 6972
75% 7262
80% 7377
90% 7755
95% 8295
98% 8683
99% 9815
100% 15395 (longest request)

====================================================================
web效能測試的一些小工具


Web網站的壓力測試 

1、ab


1)、簡介
     ab apache自帶的簡單壓力測試工具,非常方便但是測試結果可能會與實際情況有差異,一般用其測試靜態
     頁面

2)、獲取
     apache自帶
3)、安裝
     系統自帶,無需單獨安裝
4)、使用
     命令格式:ab -n 請求總數 -c 併發數 -t 請求時限 要求訪問的url
     -n 請求總數
     -c 併發數
     -t 請求時間限制
     例如:
     ab -n 10000 -c 100 -t 10 http://www.winksi.cn
     返回結果:
     This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
     Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
     Copyright 2006 The Apache Software Foundation, http://www.apache.org/

     Benchmarking www.winksi.cn (be patient)
     Completed 1000 requests
     Completed 2000 requests
     Completed 3000 requests
     Completed 4000 requests
     Completed 5000 requests
     Completed 6000 requests
     Completed 7000 requests
     Completed 8000 requests
     Completed 9000 requests
     Finished 10000 requests


     Server Software:        Apache-Coyote/1.1
     Server Hostname:        www.winksi.cn
     Server Port:            80

     Document Path:          /
     Document Length:        0 bytes

     Concurrency Level:      100
     Time taken for tests:   17.979854 seconds
     Complete requests:      10000
     Failed requests:        0
     Write errors:           0
     Non-2xx responses:      10028
     Total transferred:      2817868 bytes
     HTML transferred:       0 bytes
     Requests per second:    556.18 [#/sec] (mean)
     Time per request:       179.799 [ms] (mean)
     Time per request:       1.798 [ms] (mean, across all concurrent requests)
     Transfer rate:          153.00 [Kbytes/sec] received

     Connection Times (ms)
              min  mean[+/-sd] median   max
     Connect:        0   32  32.1     22     244
     Processing:    38  145  35.6    137     299
     Waiting:        2   84  45.9     75     255
     Total:         43  177  43.0    171     384

     Percentage of the requests served within a certain time (ms)
       50%    171
       66%    194
       75%    208
       80%    215
       90%    235
       95%    252
       98%    276
       99%    299
       100%    384 (longest request)
   

2、webbench

1)、簡介
     webbench是linux下的一個網站測試工具,最多可以模擬3萬併發連線去測試一個網站負載能力;
2)、獲取
     可以在以下地址下載到:http://home.tiscali.cz:8080/~cz210552/distfiles/webbench-1.5.tar.gz
3)、安裝
     [[email protected] software]# tar -zxvf webbench-1.5.tar.gz  #解壓
     [[email protected] software]# cd webbench-1.5                   #進入webbench-1.5目錄
     [[email protected] webbench-1.5]# make && make install       #編譯安裝
     [[email protected] webbench-1.5]# whereis webbench           #檢視webbench目錄
     webbench: /usr/local/bin/webbench
4)、使用

    命令格式:webbench -c 併發量 -t 時間 需要訪問的url
   -c 是併發量;
   -t 表示時間;

   下面是對www.winksi.cn的測試結果:
   [[email protected] webbench-1.5]# webbench -c 1000 -t 20 http://www.winksi.cn/
   Webbench - Simple Web Benchmark 1.5
   Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

   Benchmarking: GET http://www.winksi.cn/
   1000 clients, running 20 sec.

   Speed=3042 pages/min, 23396 bytes/sec.
   Requests: 1014 susceed, 0 failed.

   注意:url一定要以http://開頭然後以/結尾,否則會報出url無效



3、siege


1)、簡介
     一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過
     程的相應時間,並在一定數量的併發訪問下重複進行。

2)、獲取
      http://www.joedog.org/

3)、安裝
     [[email protected] software]# tar -zxvf siege-2.69.tar.gz   #解壓
     [[email protected] software]# cd siege-2.69
     [[email protected] siege-2.69]# ./configure --prefix=/usr/local/siege #配置安裝目錄
     [[email protected] siege-2.69]# make && make install    #編譯安裝
   
     注意:安裝是會提示一下錯誤,
     make[3]: Entering directory `/usr/local/software/siege-2.69/doc'
     /usr/bin/install: cannot create regular file `/usr/local/siege/etc/siegerc': No such file or
     directory
     make[3]: *** [install-exec-hook] Error 1
     make[3]: Leaving directory `/usr/local/software/siege-2.69/doc'
     make[2]: *** [install-exec-am] Error 2
     make[2]: Leaving directory `/usr/local/software/siege-2.69/doc'
     make[1]: *** [install-am] Error 2
     make[1]: Leaving directory `/usr/local/software/siege-2.69/doc'
     make: *** [install-recursive] Error 1
     解決辦法是:mkdir -p /usr/local/siege/etc/siegerc 建立這樣一個目錄就可以繼續向下安裝的。
   
    
4)、使用
     命令格式:siege -c 併發量 -r 重複次數 -f urllist檔案
     urllist格式:
     http://www.taoav.com
     http://www.tuhaoduo.com
     http://www.tiaonv.com
     結果說明:
     Lifting the server siege… done.
     Transactions: 3419263 hits //完成419263次處理
     Availability: 100.00 % //100.00 % 成功率
     Elapsed time: 5999.69 secs //總共用時
     Data transferred: 84273.91 MB //共資料傳輸84273.91 MB
     Response time: 0.37 secs //相應用時1.65秒:顯示網路連線的速度
     Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次處理:表示伺服器後
     Throughput: 14.05 MB/sec //平均每秒傳送資料
     Concurrency: 213.42 //實際最高併發數
     Successful transactions: 2564081 //成功處理次數
     Failed transactions: 11 //失敗處理次數
     Longest transaction: 29.04 //每次傳輸所花最長時間
     Shortest transaction: 0.00 //每次傳輸所花最短時間

4、http_load

1)、簡介
     這個程式非常小解壓後100k,http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但
     是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。可以可以測試
     HTTPS類的網站請求。


2)、獲取
     可以到http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz下載。

3)、安裝
     [[email protected] software]# tar -zxvf http_load-12mar2006.tar.tar #解壓
     [[email protected] software]# cd http_load-12mar2006
     [[email protected] http_load-12mar2006]# mkdir -p /usr/local/man/man1  #安裝時會報出沒有
     前邊的目錄,所以建立目錄/usr/local/man/man1
     [[email protected] http_load-12mar2006]# make && make install  #安裝
     [[email protected] http_load-12mar2006]# whereis http_load       #檢視程式安裝目錄
     http_load: /usr/local/bin/http_load
       
4)、使用
     命令格式:http_load  -p 併發訪問程序數  -s 訪問時間  需要訪問的URL list檔案
                 http_load  -r 每秒鐘訪問頻率   -s總計的訪問時間  需要放問的url list檔案
     -p 併發訪問程序數;
     -s 訪問時間;
     -r 每秒鐘的訪問頻率
     -f 總計的訪問次數
   
      注意:直接跟url是不行的必須是跟的一個url的檔案,檔案格式是每一行有一個url,中間不要出現空行否則
      會爆 出一下錯誤:
      [[email protected] scripts]# http_load -p 500 -s 60 /home/scripts/urllist   
      http_load: unknown protocol - www.winksi.cn
      例子:
       urllist內容:
       [[email protected] scripts]# cat urllist
       http://www.winksi.cn
       http://www.winksi.com
      
      
  • 返回結果
     http_load -rate 5 -seconds 10 urls
     49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
     5916 mean bytes/connection
     4.89274 fetches/sec, 28945.5 bytes/sec
     msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
     msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
     HTTP response codes:
     code 200 -- 49
      結果含義
       49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
       說明在上面的測試中運行了49個請求,最大的併發程序數是2,總計傳輸的資料是289884bytes,
       執行的時間是10.0148秒


        5916 mean bytes/connection
        說明每一連線平均傳輸的資料量289884/49=5916


        4.89274 fetches/sec, 28945.5 bytes/sec
        說明每秒的響應請求為4.89274,每秒傳遞的資料為28945.5 bytes/sec


        msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
        說明每連線的平均響應時間是28.8932 msecs,最大的響應時間44.243 msecs,最小的響應時間
        24.488 msecs


        msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min


        HTTP response codes: code 200 -- 49
        說明開啟響應頁面的型別,如果403的型別過多,那可能要注意是否系統遇到了瓶頸。

        特殊說明
       一般會關注到的指標是fetches/sec、msecs/connect,它們分別對應的常用效能指標引數QPS-每秒響
       應
        使用者數和response time,每連線響應使用者時間。測試的結果主要也是看這兩個值。當然僅有這兩個指標
       並
       不能完成對效能的分析,我們還需要對伺服器的cpu、men進行分析,才能得出結論;
    
   
     
5 壓力測試模型:
      假設支援100w
      每個使用者每天訪問a次 (web.tools.com)
      每天次數:100w * a
      按照80/20原則,80%的訪問集中在20%的時間內
      100w * a * 80%  / 4.8小時
      假設對使用者來說每次訪問6秒鐘是可以接受的
      (100w*a*80%/4.8h)*6=測試用併發資料

相關推薦

網站 壓力測試工具 Siege,webbench,ab

網站做好了,當然要做測試,壓力測試是測試中重要的環節。介紹下基於linux的3款壓力測試工具:Siege,webbench,ab1.Siege一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的併發

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

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

網站壓力測試工具 Webbench簡單介紹

cgi 靜態頁面 服務 動態頁面 不同 傳輸數據 一個 php bench Webbech能測試處在相同硬件上,不同服務的性能以及不同硬件上同一個服務的運行狀況。Webbench的標準測試可以向我們展示服務器的兩項內容:每秒鐘相應請求數和每秒鐘傳輸數據量。Web

網站壓力測試工具webbench

      Webbench - Simple Web Benchmark 1.5      Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.      Benchmarking: GET http://127.0.0.1/test

Web性能壓力測試工具WebBench詳解

.com benchmark for tool pro soft sce 測試的 壓力 PS:在運維工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下性能怎樣,這些數據指標好壞將會直接影響用戶體驗。但是,在壓力測試中存在一個共性

Jmter接口網站壓力測試工具使用記錄

圖表 err bat 有一個 所有 p地址 意義 路徑 string 1.首先下載Jmeter 官方地址:http://jmeter.apache.org/ 2.安裝Jmeter 把下載的文件進行解壓,產生如下目錄:

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

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

網站壓力測試工具http_load的安裝與使用

總計 指向 seconds tar.gz 發的 all max log 連接 一、安裝 1.下載地址:http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz 2.解壓後進入目錄,執行mak

HTTP 壓力測試工具 wrk和ab

工具介紹 ab ab,全稱是apache benchmark,是apache官方推出的工具。 該工具是用來測試Apache伺服器的效能的。檢視安裝的apache的伺服器能提供的服務能力,每秒可以處理多少次請求。 使用方法 由於OSS的bucket有

壓力測試工具、Web效能壓力測試工具ApacheBench(ab)詳解

網站效能壓力測試是效能調優過程中必不可少的一環。只有讓伺服器處在高壓情況下才能真正體現出各種設定所暴露的問題。Apache中有個自帶的,名為ab的程式,可以對Apache或其它型別的伺服器進行網站訪問壓力測試。 ApacheBench命令原理: ab命令會建立很

Web效能壓力測試工具——Siege詳解

Siege可以從您選擇的預置列表中請求隨機的URL。所以siege可用於模擬使用者請求負載,而ab則不能。但不要使用siege來執行最高效能基準調校測試,這方面ab就準確很多。 一、安裝 編譯安裝 wget http://www.joedog.org/pub/siege/siege-latest.

Web伺服器效能/壓力測試工具http_load、webbenchabSiege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式

(轉) Web伺服器效能/壓力測試工具http_load、webbenchabSiege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式:ht

Web伺服器壓力測試工具http_load、webbenchabSiege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 下載地址:http://soft.vpser.net/t

Linux下四款Web伺服器壓力測試工具(http_load、webbenchabsiege)介紹

一、http_load程式非常小,解壓後也不到100Khttp_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。下載地址:http://sof

Web伺服器壓力測試工具http_load、webbenchabSiege

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式:http_load  -p 併發訪問程序數

[轉]Web伺服器效能/壓力測試工具http_load、webbenchabSiege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式:http

三種壓力測試工具 http_load 和 apache absiege 壓力測試

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

WEB壓力測試工具 abSiege 介紹

ab是Apache超文字傳輸協議(HTTP)的效能測試工具。其設計意圖是描繪當前所安裝的Apache的執行效能,主要是顯示你安裝的Apache每秒可以處理多少個請求 。ab做重複壓力測試不錯,但是每次只能測試一個連結,如何測試一組連結可能需要你自己修改ab的原始碼,還好程式碼

Ubuntu 16.04/CentOS 6.9安裝Apache壓力測試工具ab

方法 apt www. 文檔 請求 str blog pan program 說明: ab工具已經在Apache中包含,如果不想安裝Apache,那麽可以使用下面方法單獨安裝。 安裝: Ubuntu: sudo apt-get install apache2-u