市面上流行的壓力/負載/性能測試工具多是來自國外,近年來國内的性能測試工具也如雨後春筍崛起。同時由于開發的目的和側重點不同,其功能也有很大差異,下面就為您簡單介紹10款目前最常見的測試産品。
1、LoadRunner(商用版)
是一款C/S架構的商業版性能測試工具,在國記憶體在的時間較早,在國内在使用較廣泛,知名度較高。該工具免費開放了50個虛拟使用者,可供學習和使用。在國内的網站上有破解版本,但是到了最新的12版本,不再有破解版。破解版的仿真度較差,HTTP的瀑布圖是按兩個兩個并發(與浏覽器行為不一樣),最新版本的仿真相對提高很多,對于HTTP靜态請求相似度請求提高到80%,而動态請求就要差很多。由于loadRunner起步早,支援的協定很多,很多不常用的協定都支援,如電子郵件相關協定都支援。但對一些視訊協定支援的不太好。loadrunner目前對浏覽器最新版支援的不太好,最新的loadrunner12隻支援ie11,對其它浏覽器如谷歌、火狐等支援的較差。在腳本錄制方面有些網站錄制不了。價格上比較昂貴,一般小企業無力承擔。
LoadRunner官網:
https://saas.hpe.com/zh-cn/software/loadrunner2、kylinTOP測試與監控平台(商用版)
kylinTOP測試與監控平台是一款B/S架構的跨平台的集性能測試、自動化測試、業務監控于一體的測試平台,它是深圳是奇林軟體有限公司旗下的一款産品,該工具開放10個免費虛拟使用者可供學習和使用。在易用性上較好,錄制腳本支援最新版本的浏覽器,對谷歌和火狐都支援非常好。對一些https.的網站證書問題,都為使用者自動處理好了,可以輕松錄制。錄制過程高效便捷這是其它性能工具無法比拟的。仿真能力上是目前業界做的最好的性能工具,可以做到完全仿真浏覽器行為,也就是單使用者的HTTP請求瀑布圖可以和浏覽器器完全一樣。
官網位址:
http://www.70testing.com3、Apache JMeter(開源免費)
JMeter是一款開源免費的壓測産品,最初被設計用于Web應用功能測試使用,如今JMeter被國内企業用于性能測試。對于WEB伺服器(支援浏覽器通路),不建議使用Jmeter,因為jmeter的線程組都是線性執行的,與浏覽器相差很大,測試結果不具有參考性。對于純接口的部分場景(對接口調用順序無嚴格要求)測試可以使用,但是要注意使用技巧,才能達到理想結果。
官網連結:
http://jmeter.apache.org/4、NeoLoad(商用版)
NeoLoad是Neotys出品的一種負載和性能測試工具,可真實地模拟使用者活動并監視基礎架構運作狀态,進而消除所有Web和移動應用程式中的瓶頸。NeoLoad通過使用無腳本GUI和一系列自動化功能,可讓測試設計速度提高5-10倍,并将維護的腳本維持在原始設計時間的10%,同時幫助使用者使用持續內建系統自動進行測試。
NeoLoad支援WebSocket、HTTP1/ 2、GWT、HTML5、AngularJS、Oracle Forms等技術協定,能夠監控包括作業系統,應用伺服器,Web伺服器,資料庫和網絡裝置在内的各種IT基礎設施,同時可以通過Neotys雲平台發起外部壓力。
http://www.neotys.com/product/overview-neoload.html5、WebLOAD(商用版)
WebLOAD是來自Radview公司的負載測試工具,它可被用以測試系統性能和彈性,也可被用于正确性驗證(驗證傳回結果的正确性)。其測試腳本是用Javascript(和內建的COM/Java對象)編寫的,并支援多種協定,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其他可從腳本調用的協定如FTP、SMTP等,因而可從所有層面對應用程式進行測試。
WebLOAD存在免費和專業兩個版本,免費版本支援50個虛拟使用者,專業版還提供更多的報告和協定供使用者選擇。WebLOAD通常用作QA團隊的獨立運作工具,在開發周期的驗證階段,被測系統(System Under Test,SUT)投入實用之前,在模拟環境中對被測系統進行測試。
http://www.radview.com/6、Loadster(商用版本)
是一款商用負載測試軟體,用于測試高負載下網站、Web應用、Web服務的性能表現,支援Linux,Mac和Windows等運作環境。
Loadster能夠對Web應用/服務的Cookies、線程、頭檔案、動态表格等元素發起測試,獲得Web在壓力下的性能、彈性、穩定性和可擴充性等方面的表現。
http://www.loadsterperformance.com/7、Loadstorm(商用版本)
Loadstorm是一款針對Web應用的雲端負載測試工具,通過模拟海量點選來測試Web應用在大負載下的性能表現。由于采用了雲資源,是以Loadstorm的測試成本非常低,使用者可以在雲端選擇建立自己的測試計劃,測試标準和測試場景。
Loadstorm最多可以生成多達50000個并發使用者,通過數以千計的雲伺服器發起通路。使用Loadstorm不需要任何腳本知識,同時提供多樣化的測試圖表和報告模版,用于準确測量Web應用的各項性能名額,如錯誤率,平均響應時間和使用者數量等。Loadstorm可以申請免費試用,但更多壓力和功能需要開通進階帳戶。
http://loadstorm.com/8、Load impact(免費使用)
是一個線上可以免費測試網站負載能力,它就可以滿足你的基本要求, 當然成為他的付費使用者測試的項目将會更多。
Load impact是一款服務于DevOps的性能測試工具,支援各種平台的網站、Web應用、移動應用和API測試。Loadimpact可以幫助使用者了解應用的最高線上使用者通路量,通過模拟測試不同線上人數下網站的響應時間,估算出伺服器的最大負載。
Load impact的使用非常簡單,隻需要輸入網址進行測試,便可統計出加載網站的一些詳細資料。包括整體加載和站内圖檔,javascript, CSS等代碼載入。可以在右側清單選擇不同檔案來同時對比最多三個對象的加載資料,并生成圖表顯示,友善網站設計者來分析。測試完成之後,網站還可以存儲測試過的統計資料。
http://loadimpact.com/特别提醒:
1.由于此測試資料發生在國外,一般反映出的是國外使用者通路您要測試的網站的速度參數,具有一定的參考性;
2.對于國内主機,并且主要客戶來自于國内的使用者來說請慎重将此資料作為依據。
9.locust(開源免費)
Locust 完全基本 Python 程式設計語言,采用 Pure Python 描述測試腳本,并且 HTTP 請求完全基于 Requests 庫。除了 HTTP/HTTPS 協定,Locust 也可以測試其它協定的系統,隻需要采用Python調用對應的庫進行請求描述即可。但是需要手工編寫腳本,有一定的難度
10.OpenSTA(開源免費)
OpenSTA是一個免費的、開放源代碼的web性能測試工具,能錄制功能非常強大的腳本過程,執行性能測試。例如虛拟多個不同的使用者同時登陸被測試網站。其還能對錄制的測試腳本進行,按指定的文法進行編輯。在錄制完測試腳本後,可以對測試腳本進行編輯,以便進行特定的性能名額分析。其較為豐富的圖形化測試結果大大提高了測試報告的可閱讀性。OpenSTA 基于CORBA 的結構體系,它通過虛拟一個proxy,使用其專用的腳本控制語言,記錄通過proxy 的一切HTTP/S traffic。通過分析OpenSTA的性能名額收集器收集的各項性能名額,以及HTTP 資料,對系統的性能進行分析。
總結
商用性能工具在易用性(腳本生成)、并發模型、統計名額上要比開源免費軟體要好很多,可以大大提高工作效率,降低使用難度,在統計名額上要豐富的多。
免費開源軟體的優點就是免費,不用花錢。但使用難度大,統計名額少,在仿真能力上比較弱。
如何選擇主要看使用者的經濟能力和使用頻度。如果是使用頻繁,免費的軟體實際使用成本比商用軟體還要貴。