License : Apache 2.0

Apache JMeter 是開源軟體, 也是100%的JAVA 桌面應用程式. 它設計的目的, 是用來1. 測試功能行為以及, 2.量測應用程式的效能.

Jmeter 的行為就像是模擬一群使用者對目的主機來送出請求. 它可以收集這些主機回應的資料, 並且記錄及統計主機的效能. •它支援以下的協定:

  • Web: HTTP, HTTPS sites ‘web 1.0’ web 2.0
  • Web Services: SOAP / XML-RPC
  • Database via JDBC drivers
  • Directory: LDAP
  • Messaging Oriented service via JMS
  • Service: POP3, IMAP, SMTP
  • FTP Service

適用對象及時機

當產品架設完成並在正式發布之前,開發人員可以提供Web Server一個類似正常的模擬環境,讓使用者獲取資料、發布服務,並可以接受多次接受傳送測試, 來模擬Web系統能同時處理的請求數量及反應時間為壓力測試。並依據測試的結果,使產品或系統,未來在上線後可調校至最佳化狀態,以提供快速、穩定的服務,就是壓力測試的目的。 以系統面的測試來說,我們需要的劇本指標數據如下 :

  • 壓力測試總時間
  • 測試前端的主機數
  • requests數
  • 網頁執行模式
  • 連結錯誤數
  • 回應時間
  • 測試時間長度

所以, 首先測試系統前,會記錄需要受測功能的所有參數,然後透過壓力測試,來了解產品是否可以在同一時間提交多個查詢到應用系統(例如登入、結帳、資料填寫及送出),針對不同應用系統及劇本,設定不同的同時間使用者連線數,測試Web Server是否連線並請求成功。 最後再套入我們的指標測試項目及指定的測試時間,來判斷我們的Request數字在時間內的回應是否正常,也會針對連結錯誤數以及系統的回應時間,來模擬這樣的人潮時,會不會因系統Loading過重,造成回應過久或是404、500等狀況發稱生,當然大家也依據自己的產品特性來對劇本做修正。

Apache JMeter的特性說明

  • 能夠對HTTP和FTP伺服器進行壓力和性能測試,透過JDBC也可以對任何資料庫進行同樣的測試。
  • 完全的可攜性和100% 純Java撰寫的應用程式。
  • 使用Swing和輕量級元件支援。
  • 使用多執行緒框架允許通過多個執行同時發出請求進行取樣和通過單獨的執行緒群組對不同的功能同時取樣。
  • 擁有可視覺化的圖型介面,並允許快速操作和更精確的計時。
  • 對於測試結果可進行快取和離線分析、重覆進行測試。
  • 可插入的取樣器允許無限制的測試能力。
  • 各種負載統計表和可插入的計時器可供選擇。
  • 資料分析和視覺化Plug-In套件提供了很好的可擴充性以及客製化。
  • 具有提供動態輸入到測試的功能,包括JavaScript。
  • 支援使用Script語法的取樣器。