Linux壓力測試工具

1 http_load:http://www.oschina.net/p/http_loadphp

命令行輸入man http_load 或者 http_load -h能夠看到工具的使用方式:web

參數說明:apache

-parallel    簡寫 -p 含義是併發的用戶進程數。
-fetches    簡寫 -f 含義是總計的訪問次數
-rate         簡寫 -r 含義是每秒的訪問頻率
-seconds   簡寫 -s 含義是總計的訪問時間
urls.txt :  是須要進行壓力測試的文件,文件裏面記錄的是須要進行測試的url地址

使用方式說明:vim

http_load -parallel 100 -fetches 10000 urls.txt安全

#100個併發執行10000次服務器

http_load -parallel 100 -seconds 3600 urls.txt併發

#100個併發執行1小時工具

http_load -rate 100 -fetches 10000 urls.txt性能

#每秒100個請求頻率,請求10000次測試

http_load -rate 100 -seconds 3600 urls.txt

#每秒100個請求頻率執行1小時

 

結果分析:

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

1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
說明在上面的測試中運行了49個請求,最大的併發進程數是2,總計傳輸的數據是289884bytes,運行的時間是10.0148秒

2.5916 mean bytes/connection
說明每一鏈接平均傳輸的數據量289884/49=5916

3.4.89274 fetches/sec, 28945.5 bytes/sec
說明每秒的響應請求個數爲4.89274,每秒傳遞的數據爲28945.5 bytes/sec

4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
說明每次鏈接的平均響應時間是28.8932 msecs(毫秒),最大的響應時間44.243 msecs,最小的響應時間24.488 msecs

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

六、HTTP response codes: code 200 -- 49
說明打開響應頁面的類型,若是403的類型過多,那可能要注意是否系統遇到了瓶頸。
特殊說明:這裏,咱們通常會關注到的指標是fetches/sec(每秒處理的請求數量)、msecs/connect(每次鏈接處理的時間)
他們分別對應的經常使用性能指標參數
Qpt-每秒響應用戶數和response time,每次鏈接響應用戶的時間。
測試的結果主要也是看這兩個值。固然僅有這兩個指標並不能完成對性能的分析,咱們還須要對服務器的cpu、men進行分析,才能得出結論

錯誤信息:byte count wrong
http_load在處理時會去關注每次訪問同一個URL返回結果(即字節數)是否一致,若不一致就會拋出byte count wrong
因此動態頁面能夠忽略這個錯誤信息。

使用ps -ef | grep http_load | wc -l能夠看出只有一個http_load進程,說明在執行併發的時候並無產生相應的子進程去執行併發,始終只有一個進程

 

2 webbench

WebBench是有名的網站壓力測試工具,由Lionbridge公司開發,最多能夠模擬3萬個併發鏈接去測試網站的負載能力。
Webbech能測試處在相同硬件上,不一樣服務的性能以及不一樣硬件上同一個服務的運行情況。webBech的標準測試能夠向咱們展現服務器的 兩項 內容:每秒鐘相應請求數和每秒鐘傳輸數據量。webbench不但能具備便準靜態頁面的測試能力,還能對動態頁面(ASP,PHP,JAVA,CGI)進 行測試的能力。還有就是他支持對含有SSL的安全網站例如電子商務網站進行靜態或動態的性能測試。

1).下載webbench文件

直接網上下載webbench文件或wget命令下載:

wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz

2).解壓要編譯的文件

tarzxvf webbench-1.5.tar.gz

3).編譯源代碼和安裝文件

cd webbench-1.5
vim Makefile (自定義安裝路徑,PREFIX?= /usr/local)
make&& make install

4).webbench-c 500 -t 30 http://www.baidu.com/index.php

參數說明:-c表示併發數,-t表示時間(秒)

測試結果:

Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.baidu.com/index.php
100 clients, running 60 sec.

Speed=600 pages/min, 592821 bytes/sec.
Requests: 624 susceed, 0 failed.

每秒鐘傳輸數據量:592821 bytes/sec每秒鐘相應請求數:600/60= 10 pages/sec

使用ps -ef | grep webbench | wc -l能夠看出只有500個webbench進程,說明在執行併發的時候產生了相應的子進程去執行併發

 

3 ab
ab是apache自帶的一款功能強大的測試工具,安裝了apache通常就自帶了,輸入man ab就能夠查看到具體的使用方式.

參數衆多,通常咱們用到的是-n 和-c
例如:
ab -c 1000 -n 100 http://www.baidu.com/index.php

這個表示同時處理1000個請求並運行100次index.php文件

使用ps -ef | grep ab | wc -l能夠看出只有1000個webbench進程,說明在執行併發的時候產生了相應的子進程去執行併發

相關文章
相關標籤/搜索