1. 程式人生 > >效能測試工具篇(開源&商業)

效能測試工具篇(開源&商業)

因專案的需要,自己對一些主流的效能測試工具做了詳細的調研工作(包括開源和商業的)。本文是自己的簡要分享,希望能幫助有需要的人,其中部分工具是本人使用過的。
更新時間:20160915

介於專案並不是面向Web網站伺服器的,所以關於web測試這塊的工具可能羅列的不多(只涉及主要的了),畢竟僅web這塊的工具就很多了!

一、系統性能測試工具

有關Web伺服器效能測試工具的介紹放在了“軟體效能測試章節”章節。

開源免費

  1. Iometer

    • I/O子系統效能測試
    • 其在工業界被廣泛使用
    • 支援多種平臺(Linux, Windows, Mac OS等)
  2. Iozone

    • I/O效能測試
    • Iozone是一個檔案系統benchmark工具,可測試不同的作業系統中檔案系統的讀寫效能,且含有gnuplot畫圖指令碼。
    • 支援多種平臺,適合用在大規模集群系統上測試NFS的效能
  3. FIO

    • I/O效能測試
    • 一個用於對磁碟IO進行基準或壓力測試的工具,支援19種不同型別的IO引擎,在測試行為上,支援設定IO優先順序,多執行緒測試等等特性。
  4. SPEC CPU

    • CPU等效能測試
    • SPEC CPU是SPEC(標準效能評測組織)開發的專門用於評價CPU效能的一套基準測試程式,主要應用於桌面型和伺服器型CPU的效能評價。測試範圍專注於系統的處理器、記憶體子系統和使用到的編譯器。
  5. Netperf

    • 網路效能測試
    • 根據應用的不同,可以進行不同模式的網路效能測試,即批量資料傳輸(bulk data transfer)模式和請求/應答(request/reponse)模式。Netperf測試結果所反映的是一個系統能夠以多快的速度向另外一個系統傳送資料,以及另外一個系統能夠以多塊的速度接收資料。

其他的一些用於系統性能監控工具/命令:Perfmon(Windows 自帶系統監測工具), sysstat, vmstat, rstati,Mercury SiteScope等

商業產品

  1. Sisoft Sandra
    • Windows系統下的基準評測軟體
    • 含幾十種以上的測試專案,能夠檢視系統所有配件的資訊,而且能夠對部分配件(如CPU、記憶體、硬碟等)進行打分(benchmark),並且可以與其它型號硬體的得分進行對比。另外,該軟體還有系統穩定性綜合測試、效能調整嚮導等附加功能。
    • Enterprise版費用最低為$2195,Lite版本免費

二、軟體效能測試工具

軟體效能測試中,有大部分是關於WEB應用(伺服器)的測試

開源免費

  1. Apache JMeter

    • Java桌面應用壓力測試工具
    • 用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴充套件到其他測試領域。 它可以用於測試靜態和動態資源例如靜態檔案、Java 小服務程式、CGI 指令碼、Java 物件、資料庫, FTP 伺服器, 等等。JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來在不同壓力類別下測試它們的強度和分析整體效能。
  2. Grinder

    • Java負載測試框架
    • 可通過多種負載注射器來為分散式測試提供了便利。支援用於執行測試指令碼的Python指令碼引擎HTTP測試可通過HTTP代理進行管理。
  3. Tsung

    • 多協議分散式負載測試
    • 可用於HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP 等多類伺服器效能測試
  4. Gatling

    • web應用效能測試框架
    • 一個基於Scala, Akks和Nettyde效能測試框架,能相容所有的瀏覽器,支援HTTP,WebSockets, Server-sent svents, JMS
  5. perf

    • 軟體效能分析
    • perf是一款強大工具,且有豐富的功能部件。Perf 不僅可以用於應用程式的效能統計分析,也可以應用於核心程式碼的效能統計和分析。應用程式可以利用 PMU,tracepoint 和核心中的特殊計數器來進行效能統計。
  6. curl-loader

    • Web應用測試
    • 可模擬成千上萬的HTTP/HTTPS和FTP/FTPS客戶端應用程式,且每個均擁有自己的源IP
  7. OpenSTA

    • web伺服器benchmakr工具
    • 功能強大,自定義功能設定完備,但設定通過Script來完成。
    • windows平臺
  8. Siege

    • http壓力測試和benchmark工具
    • 以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。 Siege 支援基本的認證,cookies, HTTP 和 HTTPS 協議。
  9. Web Polygraph

    • Web效能測試
    • 這個工具是很多公司的標準測試工具,包括微軟在分析其軟體效能的時候,也是使用這個工具做為基準工具的。很多招聘測試員的廣告中都註明需要熟練掌握這個測試工具。有商業支援。
  10. wrk

    • HTTP基準測試工具
    • 一款採用非同步併發模型的HTTP基準測試工具: 不同於 ab、webbench,它採用非同步併發模型,能夠傳送更大且可控的壓力;內建 LuaJIT,能夠通過 lua 指令碼模擬常見的業務行為,模擬更加真實的場景;相比常見的HTTP基準測試工具,佔用更少CPU、更少記憶體 支援 HTTP、 HTTPS,能夠動態修改頭、修改Body方法等;支援混合場景

商業產品

  1. HP Loadrunner

    • 預測系統行為和效能的工業標準級負載測試工具
    • 一種較高規模適應性的,自動負載測試工具,它能預測系統行為,優化效能。LoadRunner強調的是整個企業的系統,它通過模擬實際使用者的操作行為和實行實時效能監測,來幫助更快的確認和查詢問題。
    • 支援系統:Microsoft Windows and Linux (Load Generator only), 費用較貴,且按協議收費。有社群免費版本(Community Edition )。
  2. WebLOAD

    • web應用效能測試工具
    • 可測試Ajax, Adobe Flex, .NET, Oracle Forms, HTML5等各類web應用。
    • 支援Windows, Linux系統
  3. IBM Rational Performance Tester(簡稱 RPT)

    • 應用程式效能測試引擎
    • Rational Performance Tester 將易用性與深入分析功能相結合,從而簡化了測試建立、負載生成和資料收集,以幫助確保應用程式具有支援數以千計併發使用者並穩定執行的效能。
    • 100個虛擬使用者每小時$60.00
  4. kylinPET

    • 國產效能測試工具
    • 一款功能強大的效能測試工具;介面友好、操作方便,資源佔用率低;自帶TCP/IP協議棧,支援虛擬大量IP;支援IPv4、IPv6的多種業務測試;支援WEB/WebService業務與Flex(HTTP)、IMS業務(SIP)、IPTV業務(RTSP/IGMP/MLD)、XMPP、Socket業務、資料庫、JMS、FTP/SFTP、WEB視訊(包括FLV/MP4/HTTP Live Streaming/HTTP Smooth Streaming/HTTP Dynamic Streaming)、WebSocket、JAVA;支援多種協議組合。
  5. Silk Performer, QA Load

    • 負載測試工具
    • Borland 公司產品,Silk Performer是一種在工業領域最高階的企業級負載測試工具。可以模仿成千上萬的使用者在多協議和多計算的環境下工作。QAload是一款應用效能測試工具
    • Silk Performer約78000元人民幣
  6. NeoLoad

  7. Load Test (included with SOAtest)

    • 效能測試工具
    • 支援SOAtest測試,JUnits,和輕量級的socket-based元件
  8. Login VSI

其他的一些效能測試工具有:Visual Studio Ultimate edition, Tosca Testsuite, BlazeMeter等

說明