下面是十個(gè)免費(fèi)的可以用來(lái)進(jìn)行Web的負(fù)載/壓力測(cè)試的工具,這樣,你就可以知道你的服務(wù)器以及你的WEB應(yīng)用能夠頂?shù)米《嗌俚牟l(fā)量,以及你的網(wǎng)站的性能。我相信,北京奧組委的訂票網(wǎng)站的開(kāi)發(fā)團(tuán)隊(duì)并不知道有這樣的測(cè)試工具。
Grinder – Grinder是一個(gè)開(kāi)源的JVM負(fù)載測(cè)試框架,它通過(guò)很多負(fù)載注射器來(lái)為分布式測(cè)試提供了便利。 支持用于執(zhí)行測(cè)試腳本的Jython腳本引擎HTTP測(cè)試可通過(guò)HTTP代理進(jìn)行管理。根據(jù)項(xiàng)目網(wǎng)站的說(shuō)法,Grinder的 主要目標(biāo)用戶(hù)是“理解他們所測(cè)代碼的人——Grinder不僅僅是帶有一組相關(guān)響應(yīng)時(shí)間的‘黑盒’測(cè)試。由于測(cè)試過(guò)程可以進(jìn)行編碼——而不是簡(jiǎn)單地腳本 化,所以程序員能測(cè)試應(yīng)用中內(nèi)部的各個(gè)層次,而不僅僅是通過(guò)用戶(hù)界面測(cè)試響應(yīng)時(shí)間。
Pylot -Pylot是一款開(kāi)源的測(cè)試web service性能和擴(kuò)展性的工具,它運(yùn)行HTTP 負(fù)載測(cè)試,這對(duì)容量計(jì)劃,確定基準(zhǔn)點(diǎn),分析以及系統(tǒng)調(diào)優(yōu)都很有用處。Pylot產(chǎn)生并發(fā)負(fù)載(HTTP Requests),檢驗(yàn)服務(wù)器響應(yīng),以及產(chǎn)生帶有metrics的報(bào)表。通過(guò)GUI或者shell/console來(lái)執(zhí)行和監(jiān)視test suites。
Web Capacity Analysis Tool (WCAT) – 這是一種輕量級(jí)負(fù)載生成實(shí)用工具,不僅能夠重現(xiàn)對(duì) Web 服務(wù)器(或負(fù)載平衡服務(wù)器場(chǎng))的腳本 HTTP 請(qǐng)求,同時(shí)還可以收集性能統(tǒng)計(jì)數(shù)據(jù)供日后分析之用。WCAT 是多線(xiàn)程應(yīng)用程序,并且支持從單個(gè)源控制多個(gè)負(fù)載測(cè)試客戶(hù)端,因此您可以模擬數(shù)千個(gè)并發(fā)用戶(hù)。該實(shí)用工具利用您的舊機(jī)器作為測(cè)試客戶(hù)端,其中每個(gè)測(cè)試客戶(hù) 端又可以產(chǎn)生多個(gè)虛擬客戶(hù)端(最大數(shù)量取決于客戶(hù)端機(jī)器的網(wǎng)絡(luò)適配器和其他硬件)。您可以選擇使用 HTTP 1.0 還是 HTTP 1.1 請(qǐng)求,以及是否使用 SSL。并且,如果測(cè)試方案需要,您還可以使用腳本執(zhí)行的基本或 NTLM 身份驗(yàn)證來(lái)訪(fǎng)問(wèn)站點(diǎn)的受限部分。(如果您的站點(diǎn)使用 cookie、表單或基于會(huì)話(huà)的身份驗(yàn)證,那您可以創(chuàng)建正確的 GET 或 POST 請(qǐng)求來(lái)對(duì)測(cè)試用戶(hù)進(jìn)行身份驗(yàn)證。)WCAT 還可管理您站點(diǎn)可能設(shè)置的任何 cookie,所以配置文件和會(huì)話(huà)信息將永久保存。
fwptt – fwptt 也是一個(gè)用來(lái)進(jìn)行WEB應(yīng)用負(fù)載測(cè)試的工具。它可以記錄一般的請(qǐng)求,也可以記錄Ajax請(qǐng)求。它可以用來(lái)測(cè)試 asp.net, jsp, php 或是其它的Web應(yīng)用。
JCrawler – JCrawler是一個(gè)開(kāi)源( CPL) 的WEB應(yīng)用壓力測(cè)試工具。通過(guò)其名字,你就可以知道這是一個(gè)用Java寫(xiě)的像網(wǎng)頁(yè)爬蟲(chóng)一樣的工具。只要你給其幾個(gè)URL,它就可以開(kāi)始爬過(guò)去了,它用一 種特殊的方式來(lái)產(chǎn)生你WEB應(yīng)用的負(fù)載。這個(gè)工具可以用來(lái)測(cè)試搜索引擎對(duì)你站點(diǎn)產(chǎn)生的負(fù)載。當(dāng)然,其還有另一功能,你可以建立你的網(wǎng)站地圖和再點(diǎn)擊一下, 將自動(dòng)提交Sitemap給前5名的搜索引擎!
Apache JMeter – Apache JMeter是一個(gè)專(zhuān)門(mén)為運(yùn)行和服務(wù)器裝載測(cè)試而設(shè)計(jì)的、100%的純Java桌面運(yùn)行程序。原先它是為Web/HTTP測(cè)試而設(shè)計(jì)的,但是它已經(jīng)擴(kuò)展以 支持各種各樣的測(cè)試模塊。它和用于HTTP和SQL數(shù)據(jù)庫(kù)(使用JDBC)的模塊一起運(yùn)送。它可以用來(lái)測(cè)試靜止資料庫(kù)或者活動(dòng)資料庫(kù)中的服務(wù)器的運(yùn)行情 況,可以用來(lái)模擬對(duì)服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測(cè)試它的抵抗力,或者用來(lái)分析不同負(fù)荷類(lèi)型下的所有運(yùn)行情況。它也提供了一個(gè)可替換的界面用來(lái)定制數(shù)據(jù) 顯示,測(cè)試同步及測(cè)試的創(chuàng)建和執(zhí)行。
Siege -Siege(英文意思是圍攻)是一個(gè)壓力測(cè)試和評(píng)測(cè)工具,設(shè)計(jì)用于WEB開(kāi)發(fā)這評(píng)估應(yīng)用在壓力下的承受能力:可以根據(jù)配置對(duì)一個(gè)WEB站點(diǎn)進(jìn)行多用戶(hù)的 并發(fā)訪(fǎng)問(wèn),記錄每個(gè)用戶(hù)所有請(qǐng)求過(guò)程的相應(yīng)時(shí)間,并在一定數(shù)量的并發(fā)訪(fǎng)問(wèn)下重復(fù)進(jìn)行。 Siege 支持基本的認(rèn)證,cookies, HTTP 和 HTTPS 協(xié)議。
http_load – http_load 以并行復(fù)用的方式運(yùn)行,用以測(cè)試web服務(wù)器的吞吐量與負(fù)載。但是它不同于大多數(shù)壓力測(cè)試工具,它可以以一個(gè)單一的進(jìn)程運(yùn)行,一般不會(huì)把客戶(hù)機(jī)搞死。可以可以測(cè)試HTTPS類(lèi)的網(wǎng)站請(qǐng)求。
Web Polygraph – Web Polygraph這個(gè)軟件也是一個(gè)用于測(cè)試WEB性能的工具,這個(gè)工具是很多公司的標(biāo)準(zhǔn)測(cè)試工具,包括微軟在分析其軟件性能的時(shí)候,也是使用這個(gè)工具做為基準(zhǔn)工具的。很多招聘測(cè)試員的廣告中都注明需要熟練掌握這個(gè)測(cè)試工具。
OpenSTA – OpenSTA是一個(gè)免費(fèi)的、開(kāi)放源代碼的web性能測(cè)試工具,能錄制功能非常強(qiáng)大的腳本過(guò)程,執(zhí)行性能測(cè)試。例如虛擬多個(gè)不同的用戶(hù)同時(shí)登陸被測(cè)試網(wǎng) 站。其還能對(duì)錄制的測(cè)試腳本進(jìn)行,按指定的語(yǔ)法進(jìn)行編輯。在錄制完測(cè)試腳本后,可以對(duì)測(cè)試腳本進(jìn)行編輯,以便進(jìn)行特定的性能指標(biāo)分析。其較為豐富的圖形化 測(cè)試結(jié)果大大提高了測(cè)試報(bào)告的可閱讀性。OpenSTA 基于CORBA 的結(jié)構(gòu)體系,它通過(guò)虛擬一個(gè)proxy,使用其專(zhuān)用的腳本控制語(yǔ)言,記錄通過(guò) proxy 的一切HTTP/S traffic。通過(guò)分析OpenSTA的性能指標(biāo)收集器收集的各項(xiàng)性能指標(biāo),以及HTTP 數(shù)據(jù),對(duì)系統(tǒng)的性能進(jìn)行分析。