當一套程序寫完或者一台服務器配置完成后,相必很多朋友會像我一樣,非常想知道它到底能夠承受多大的負載壓力,那在本文中,就給大家介紹十個免費的可以用來進行Web的負載/壓力測試的工具,這樣,你就可以知道你的服務器以及你的Web應用能夠頂得住多少的並發量,以及你的網站的性能。
Grinder
Grinder是一個開源的JVM負載測試框架,它通過很多負載注射器來為分布式測試提供了便利。支持用於執行測試腳本的Jython腳本引擎HTTP測試可通過HTTP代理進行管理。根據項目網站的說法,Grinder的主要目標用戶是“理解他們所測代碼的人——Grinder不僅僅是帶有一組相關響應時間的‘黑盒’測試。由於測試過程可以進行編碼——而不是簡單地腳本化,所以程序員能測試應用中內部的各個層次,而不僅僅是通過用戶界面測試響應時間。
Pylot
Pylot是一款開源的測試Webservice性能和擴展性的工具,它運行HTTP負載測試,這對容量計划,確定基准點,分析以及系統調優都很有用處。Pylot產生並發負載(HTTPRequests),檢驗服務器響應,以及產生帶有metrics的報表。通過GUI或者shell/console來執行和監視testsuites。
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/Straffic。通過分析OpenSTA的性能指標收集器收集的各項性能指標,以及HTTP數據,對系統的性能進行分析。
1. LoadRunner:支持多種常用協議多且個別協議支持的版本比較高;可以設置靈活的負載壓力測試方案,
可視化的圖形界面可以監控豐富的資源;報告可以導出到Word、Excel以及HTML格式。2. WebLoad:webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;
webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能用戶創建的是基於javascript的測試腳本,稱為議程agenda,
用它來模擬客戶的行為,通過執行該腳本來衡量web應用程序在真實環境下的性能。
3. E-Test Suite:由Empirix公司開發的測試軟件,能夠和被測試應用軟件無縫結合的Web應用測試工具。
工具包含e-Tester、e-Load和e- Monitor,這三種工具分別對應功能測試、壓力測試以及應用監控,每一部分功能相互獨立,
測試過程又可彼此協同。
4. QALoad:
(1).測試接口多;
(2)可預測系統性能;
(3)通過重復測試尋找瓶頸問題;
(4)從控制中心管理全局負載測試;
(5)可驗證應用的擴展性;
(6)快速創建仿真的負載測試;
(7)性能價格比較高。
此外,QALoad不單單測試Web應用,還可以測試一些后台的東西,比如SQL Server等。只要它支持的協議,都可以測試。
5. Benchmark Factory: 首先它可以測試服務器群集的性能;其次,可以實施基准測試;最后,可以生成高級腳本。
6. JMeter:是開源測試工具,專門為運行和服務器負載測試而設計、100%的純Java桌面運行程序。
原先它是為Web/HTTP測試而設計的,但是它已經擴展以支持各種各樣的測試模塊。
它和HTTP和SQL(使用JDBC)的模塊一起運行。它可以用來測試靜止或活動資料庫中的服務器運行情況,
可以用來模擬服務器或網絡系統在重負載下的運行情況。它也提供了一個可替換的界面用來定制數據顯示,
測試同步及測試的創建和執行。
7. WAS:是Micro$oft提供的免費的Web負載壓力測試工具,應用廣泛。
WAS可以通過一台或者多台客戶機模擬大量用戶的活動。WAS支持身份驗證、加密和Cookies,
也能夠模擬各種瀏覽器和Modem速度,它的功能和性能可以與數萬美元的產品媲美。
8. ACT:或稱MSACT,它是微軟的Visual Studio和Visual Studio.net帶的一套進行程序壓力測試的工具。
ACT不但可以記錄程序運行的詳細數據參數,用圖表顯示程序運行情況,而且安裝和使用都比較簡單,結果閱讀方便,
是一套較理想的測試工具。
9. OpenSTA:它的全稱是Open System Testing Architecture。
OpenST的特點是可以模擬很多用戶來訪問需要測試的網站,它是一個功能強大、自定義設置功能完備的軟件。
但是,這些設置大部分需要通過Script來完成,因此在真正使用這個軟件之前,必須學習好它的Script編寫。
如果需要完成很復雜的功能,Script的要求還比較高。當然這也是它的優點,一些程序員不會在意編寫Script的。
10. PureLoad:一個完全基於Java的測試工具,它的Script代碼完全使用XML。所以,編寫 Script很簡單。
它的測試包含文字和圖形並可以輸出為HTML文件。由於是基於Java的軟件,
因此PureLoad可以通過Java Beans API來增強軟件功能。