天天看點

三種web性能壓力測試工具

http_load

下載下傳位址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz

程式非常小,解壓後也不到100K 居家旅行攜帶友善 呵呵

http_load以并行複用的方式運作,用以測試web伺服器的吞吐量與負載。但是它不同于大多數壓力測試工具,它可以以一個單一的程序運作,一般不會把客戶機搞死。可以可以測試HTTPS類的網站請求。

指令格式:http_load  -p 并發通路程序數  -s 通路時間  需要通路的URL檔案

例如:

引用

http_load -p 30 -s 60  urllist.txt

準備URL檔案:tst.list,檔案格式是每行一個URL,URL最好超過50-100個測試效果比較好,另外,測試結果中主要的名額是fetches/sec 這個選項,即伺服器每秒能夠響應的查詢次數,用這個名額來衡量性能。似乎比 apache的ab準确率要高一些,也更有說服力一些。

官方的例子:

引用

% ./http_load -rate 10 -seconds 60urllist.txt

49 fetches, 4 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.624max, 57.803 min

4.89274 fetches/sec 這個值得就是說伺服器每秒能夠響應的查詢次數為4.8左右

這個值得是根據 49 fetches / 10.0148 seconds 秒計算出來的

webbench

webbench是Linux下的一個網站壓力測試工具,最多可以模拟3萬個并發連接配接去測試網站的負載能力。下載下傳位址可以到baidu google搜,我這裡給出一個

下載下傳位址:http://cid-9601b7b7f2063d42.skyd ... webbench-1.5.tar.gz

這個程式更小,解壓後不到50K,呵呵

安裝非常簡單

#tar zxvf webbench-1.5.tar.gz

#cd webbench-1.5

#make && make install

會在目前目錄生成webbench可執行檔案,直接可以使用了

用法:

webbench -c 并發數 -t 運作測試時間 URL

如:

webbench -c 5000 -t 120http://www.askwan.com

ab

ab是apache自帶的一款功能強大的測試工具

安裝了apache一般就自帶了,

用法可以檢視它的說明

引用

$ ./ab

./ab: wrong number of arguments

Usage: ./ab [options][http://]hostname[:port]/path

Options are:

-n requests Number of requests to perform

-c concurrency Number of multiple requeststo make

-t timelimit Seconds to max. wait forresponses

-p postfile File containing data to POST

-T content-type Content-type header forPOSTing

-v verbosity How much troubleshooting infoto print

-w Print out results in HTML tables

-i Use HEAD instead of GET

-x attributes String to insert as tableattributes

-y attributes String to insert as trattributes

-z attributes String to insert as td or thattributes

-C attribute Add cookie, eg. \'Apache=1234.(repeatable)

-H attribute Add Arbitrary header line, eg.\'Accept-Encoding: gzip\'

Inserted after all normal header lines.(repeatable)

-A attribute Add Basic WWW Authentication,the attributes

are a colon separated username andpassword.

-P attribute Add Basic ProxyAuthentication, the attributes

are a colon separated username andpassword.

-X proxy:port Proxyserver and port numberto use

-V Print version number and exit

-k Use HTTP KeepAlive feature

-d Do not show percentiles served table.

-S Do not show confidence estimators andwarnings.

-g filename Output collected data tognuplot format file.

-e filename Output CSV file withpercentages served

-h Display usage information (this message)

參數衆多,一般我們用到的是-n 和-c

例如:

./ab -c 1000 -n 100http://www.askwan.com/index.PHP

這個表示同時處理1000個請求并運作100次index.php檔案.

nmon 工具可以為 AIX 和 Linux 性能專家提供監視和分析性能資料的功能

一、下載下傳nmon工具和nmon****yser

Nmon下載下傳:

位置:可從IBM Wiki上下載下傳

http://www-941.haw.ibm.com/colla ...play/WikiPtype/nmon

例如我測試的系統是AIX5.3,那麼就可以下載下傳nmon4aix12e.zip ,下載下傳後我們可以看到壓縮包裡是一些檔案,

其實nmon就是shell腳本,nmon檔案運作時調用其他的檔案,生成性能資料,這個工具運作時也是通過執行nmon腳本接受參數。

Nmon****yser下載下傳:

位置:可從可從IBM Wiki上下載下傳

http://www-941.haw.ibm.com/colla ...iptype/nmon****yser

二、上傳nomn工具到伺服器上&修改屬性

将nmon4aix12e.zip裡的檔案ftp到伺服器上,目錄任意,最好自己建立一個目錄,然後将檔案的屬性修改為可執行的:chmod 755 nmon_aix53

三、在伺服器上運作nmon腳本

進入/home/nmon目錄

cd /home/nmon

運作nmon腳本

./nmon -fT -s 30 -c 120

其中30表示每隔30秒nmon取一次系統性能資料,120表示取120次;

這樣nmon将會在運作開始算起連續取得30sX120=60分鐘,可根據實際需要時間調整;

當運作以上指令後該目錄下會生成一個.nmon檔案,該檔案會根據間隔時間被寫入性能資料,當一段時間後再檢視該檔案,檔案位元組變大;

四、利用nmon****yser分析.nmon檔案

當測試結束的同時ftp到伺服器上将.nmon檔案get下來,

打開nmon_****yser.zip 包下的nmon ****yser v338.xls 檔案,點選****yse nomndata按鈕,選擇之前get來下的.nmon檔案。

(如果報告以下宏的安全級别太高錯誤,則在“工具 -- 宏 --安全性”裡把級别調低,然後重新打開 nmon ****yser v338.xls 檔案)

待分析結束後會生成性能分析結果檔案(檔案格式為.xls,其中包括CPU,IO,記憶體等性能分析報告)。

分析結果中有很多資料和圖形,簡要介紹主要的性能參數圖像

4.1 系統彙總(對應excel标簽的‘SYS_SUMM’)

藍線為cpu占有率變化情況;

粉線為磁盤IO的變化情況;

4.2磁盤讀寫情況彙總(對應excel标簽的‘DISK_SUMM’)

藍色為磁盤讀的速率KB/sec

紫色為磁盤寫的速率KB/sec

4.3記憶體情況彙總(對應excel标簽的‘MEM’)

曲線表示記憶體剩餘量(MB)

分析資料得到的報告檔案(.xls)中包含很多性能分析結果資料,根據自己的需要檢視。

五、nmon運作本身就消耗系統資源的;

另外如果取到.nmon檔案後确定不再需要nmon繼續收集資訊則應kill掉nmon;

指令:

   1.ps -A | grep nmon #得到pid

   2.kill -9 pid

六、定時任務

在很多情況下,我們需要知道在一個連續的時間段裡,機器的性能情況。例如,記錄每天的機器性能狀況,步驟如下:

建nmon目錄/nmon,在目錄下建兩個子目錄/nmon/bin和/nmon/data目錄,

把下載下傳下來的nmon程式放到bin目錄下,aix下的nmon可執行檔案名稱可能為:

nmon_aix53

在/nmon/bin目錄下建一個腳本檔案nmon.sh,内容如下:

#!/bin/ksh

BINPATH=`dirname $0`

NPATH=$BINPATH/../data

$BINPATH/nmon_aix53 -s300 -c288 -f -m$NPATH

-s300表示每300秒采集一次資料,

-c288表示采集288次,300*288=86400秒,剛好是1天的資料,這樣運作一次這個程式就會生成一個一天的資料檔案,

-m$NPATH表示生成的資料檔案的路徑

-f表示生成的資料檔案名中有時間

然後在crontab 中增加一條記錄:

0 0 * * * /home/sun/nmon/bin/nmon.sh>/dev/null 2>&1

這樣每天淩晨都會運作nmon,這樣每天都會生成一個nmon檔案。

生成的檔案名為:myhost _090507_0000.nmon,“myhost”是這台主機的hostname。

把生成的資料檔案傳到Windows機器上,用Excel打開分析工具nmon ****yser v33A.xls

然後再點Excel檔案中的“****yze nmon data”按鈕,選取那個性能資料檔案

這樣就會生成一個分析後的結果檔案:myhost_090507_0000.nmon.xls

用Excel打開生成的Excel檔案就可以看到結果了。

    *CPU 使用率

    *記憶體使用情況

    *核心統計資訊和運作隊列資訊

    *磁盤 I/O 速度、傳輸和讀/寫比率

    *檔案系統中的可用空間

    *磁盤擴充卡

    *網絡 I/O 速度、傳輸和讀/寫比率

    *頁面空間和頁面速度

    *CPU 和 AIX 規範

    *消耗資源最多的程序

    *IBM HTTP Web 緩存

    *使用者自定義的磁盤組

    *計算機詳細資訊和資源

    *異步 I/O,僅适用于 AIX

    *工作負載管理器 (WLM),僅适用于 AIX

    *IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盤,僅适用于 AIX

    *網絡檔案系統 (NFS)

    *動态 LPAR (DLPAR) 更改,僅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower