1、http_loadhtml
程序很是小,解壓後也不到100Kmysql
http_load以並行複用的方式運行,用以測試web服務器的吞吐量與負載。可是它不一樣於大多數壓力測試工程序員
具,它能夠以一個單一的進程運行,通常不會把客戶機搞死。還能夠測試HTTPS類的網站請求。web
下載地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
安裝很簡單
#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make installsql
命令格式:http_load -p 併發訪問進程數 -s 訪問時間 須要訪問的URL文件shell
參數其實能夠自由組合,參數之間的選擇並無什麼限制。好比你寫成http_load -parallel 5 -seconds數據庫
300 urls.txt也是能夠的。咱們把參數給你們簡單說明一下。
-parallel 簡寫-p :含義是併發的用戶進程數。
-fetches 簡寫-f :含義是總計的訪問次數
-rate 簡寫-p :含義是每秒的訪問頻率
-seconds簡寫-s :含義是總計的訪問時間apache
準備URL文件:urllist.txt,文件格式是每行一個URL,URL最好超過50-100個測試效果比較好.文件格式網頁爬蟲
以下:
http://www.vpser.net/uncategorized/choose-vps.html
http://www.vpser.net/vps-cp/hypervm-tutorial.html
http://www.vpser.net/coupons/diavps-april-coupons.html
http://www.vpser.net/security/vps-backup-web-mysql.html
例如:
http_load -p 30 -s 60 urllist.txt
參數瞭解了,咱們來看運行一條命令來看看它的返回結果
命令:% ./http_load -rate 5 -seconds 10 urls說明執行了一個持續時間10秒的測試,每秒的頻率爲5。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274
fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first
-response: 63.5362 mean, 81.624 max, 57.803 minHTTP 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 這個選項,即服務器每秒可以響應的查詢次數,
用這個指標來衡量性能。彷佛比 apache的ab準確率要高一些,也更有說服力一些。
Qpt-每秒響應用戶數和response time,每鏈接響應用戶時間。
測試的結果主要也是看這兩個值。固然僅有這兩個指標並不能完成對性能的分析,咱們還須要對服務器的
cpu、men進行分析,才能得出結論
2、webbench
webbench是Linux下的一個網站壓力測試工具,最多能夠模擬3萬個併發鏈接去測試網站的負載能力。下載地址能夠到google搜,我這裏給出一個
下載地址:http://soft.vpser.net/test/webbench/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 120 http://www.vpser.net
3、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 requests to make
-t timelimit Seconds to max. wait for responses
-p postfile File containing data to POST
-T content-type Content-type header for POSTing
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-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 and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port Proxyserver and port number to 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 and warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
參數衆多,通常咱們用到的是-n 和-c
例如:
./ab -c 1000 -n 100 http://www.vpser.net/index.php
這個表示同時處理1000個請求並運行100次index.php文件.
4、Siege
一款開源的壓力測試工具,能夠根據配置對一個WEB站點進行多用戶的併發訪問,記錄每一個用戶全部請求過程的相應時間,並在必定數量的併發訪問下重複進行。
官方:http://www.joedog.org/
Siege下載:http://soft.vpser.net/test/siege/siege-2.67.tar.gz
解壓:
# tar -zxf siege-2.67.tar.gz
進入解壓目錄:
# cd siege-2.67/
安裝:
#./configure ; make
#make install
使用
siege -c 200 -r 10 -f example.url
-c是併發量,-r是重複次數。 url文件就是一個文本,每行都是一個url,它會從裏面隨機訪問的。
example.url內容:
http://www.licess.cn
http://www.vpser.net
http://soft.vpser.net
結果說明
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 //每次傳輸所花最短期
十個免費的Web壓力測試工具
轉:http://coolshell.cn/articles/2589.html
兩天,jnj在本站發佈了《如何在低速率網絡中測試 Web 應用》,那是測試網絡很差的狀況。而下面是十個免費的能夠用來進行Web的負載/壓力測試的工具,這樣,你就能夠知道你的服務器以及你的WEB應用可以頂得住多少的併發量,以及你的網站的性能。我相信,北京奧組委的訂票網站的開發團隊並不知道有這樣的測試工具。
Grinder – Grinder是一個開源的JVM負載測試框架,它經過不少負載注射器來爲分佈式測試提供了便利。 支持用於執行測試腳本的Jython腳本引擎HTTP測試可經過HTTP代理進行管理。根據項目網站的說法,Grinder的 主要目標用戶是「理解他們所測代碼的人——Grinder不只僅是帶有一組相關響應時間的‘黑盒’測試。因爲測試過程能夠進行編碼——而不是簡單地腳本 化,因此程序員能測試應用中內部的各個層次,而不只僅是經過用戶界面測試響應時間。
Pylot -Pylot是一款開源的測試web service性能和擴展性的工具,它運行HTTP 負載測試,這對容量計劃,肯定基準點,分析以及系統調優都頗有用處。Pylot產生併發負載(HTTP Requests),檢驗服務器響應,以及產生帶有metrics的報表。經過GUI或者shell/console來執行和監視test suites。
Web Capacity Analysis Tool (WCAT) – 這是一種輕量級負載生成實用工具,不只可以重現對 Web 服務器(或負載平衡服務器場)的腳本 HTTP 請求,同時還能夠收集性能統計數據供往後分析之用。WCAT 是多線程應用程序,而且支持從單個源控制多個負載測試客戶端,所以您能夠模擬數千個併發用戶。該實用工具利用您的舊機器做爲測試客戶端,其中每一個測試客戶 端又能夠產生多個虛擬客戶端(最大數量取決於客戶端機器的網絡適配器和其餘硬件)。您能夠選擇使用 HTTP 1.0 仍是 HTTP 1.1 請求,以及是否使用 SSL。而且,若是測試方案須要,您還可使用腳本執行的基本或 NTLM 身份驗證來訪問站點的受限部分。(若是您的站點使用 cookie、表單或基於會話的身份驗證,那您能夠建立正確的 GET 或 POST 請求來對測試用戶進行身份驗證。)WCAT 還可管理您站點可能設置的任何 cookie,因此配置文件和會話信息將永久保存。
fwptt – fwptt 也是一個用來進行WEB應用負載測試的工具。它能夠記錄通常的請求,也能夠記錄Ajax請求。它能夠用來測試 asp.net, jsp, php 或是其它的Web應用。
JCrawler – JCrawler是一個開源( CPL) 的WEB應用壓力測試工具。經過其名字,你就能夠知道這是一個用Java寫的像網頁爬蟲同樣的工具。只要你給其幾個URL,它就能夠開始爬過去了,它用一 種特殊的方式來產生你WEB應用的負載。這個工具能夠用來測試搜索引擎對你站點產生的負載。固然,其還有另外一功能,你能夠創建你的網站地圖和再點擊一下, 將自動提交Sitemap給前5名的搜索引擎!
Apache JMeter – Apache JMeter是一個專門爲運行和服務器裝載測試而設計的、100%的純Java桌面運行程序。原先它是爲Web/HTTP測試而設計的,可是它已經擴展以 支持各類各樣的測試模塊。它和用於HTTP和SQL數據庫(使用JDBC)的模塊一塊兒運送。它能夠用來測試靜止資料庫或者活動資料庫中的服務器的運行情 況,能夠用來模擬對服務器或者網絡系統加以重負荷以測試它的抵抗力,或者用來分析不一樣負荷類型下的全部運行狀況。它也提供了一個可替換的界面用來定製數據 顯示,測試同步及測試的建立和執行。
Siege -Siege(英文意思是圍攻)是一個壓力測試和評測工具,設計用於WEB開發這評估應用在壓力下的承受能力:能夠根據配置對一個WEB站點進行多用戶的併發訪問,記錄每一個用戶全部請求過程的相應時間,並在必定數量的併發訪問下重複進行。 Siege 支持基本的認證,cookies, HTTP 和 HTTPS 協議。
http_load – http_load 以並行複用的方式運行,用以測試web服務器的吞吐量與負載。可是它不一樣於大多數壓力測試工具,它能夠以一個單一的進程運行,通常不會把客戶機搞死。能夠能夠測試HTTPS類的網站請求。
Web Polygraph – Web Polygraph這個軟件也是一個用於測試WEB性能的工具,這個工具是不少公司的標準測試工具,包括微軟在分析其軟件性能的時候,也是使用這個工具作爲基準工具的。不少招聘測試員的廣告中都註明須要熟練掌握這個測試工具。
OpenSTA – OpenSTA是一個免費的、開放源代碼的web性能測試工具,能錄製功能很是強大的腳本過程,執行性能測試。例如虛擬多個不一樣的用戶同時登錄被測試網 站。其還能對錄製的測試腳本進行,按指定的語法進行編輯。在錄製完測試腳本後,能夠對測試腳本進行編輯,以便進行特定的性能指標分析。其較爲豐富的圖形化 測試結果大大提升了測試報告的可閱讀性。OpenSTA 基於CORBA 的結構體系,它經過虛擬一個proxy,使用其專用的腳本控制語言,記錄經過 proxy 的一切HTTP/S traffic。經過分析OpenSTA的性能指標收集器收集的各項性能指標,以及HTTP 數據,對系統的性能進行分析。
歡迎您留下你認爲不錯的WEB應用性能測試的工具。