使用JMeter 完成常用的壓力測試

發表于:2008-06-27來源:作者:點擊數: 標簽:jmeterJMeter壓力
本文介紹了 JMeter 相關的基本概念。并以 JMeter 為例,介紹了使用它來完成最常用的三種類型 服務器 ,即 Web 服務器、 數據庫 服務器和消息 中間件 ,壓力測試的方法、步驟以及注意事項。 講到測試,人們腦海中首先浮現的就是針對軟件正確性的測試,即常說

 本文介紹了 JMeter 相關的基本概念。并以 JMeter 為例,介紹了使用它來完成最常用的三種類型服務器,即 Web 服務器、數據庫服務器和消息中間件,壓力測試的方法、步驟以及注意事項。
 
  講到測試,人們腦海中首先浮現的就是針對軟件正確性的測試,即常說的功能測試。但是軟件僅僅只是功能正確是不夠的。在實際開發中,還有其它的非功能因素也起著決定性的因素,例如軟件的響應速度。影響軟件響應速度的因素有很多,有些是因為算法不夠高效;還有些可能受用戶并發數的影響。
 
  在眾多類型的軟件測試中,壓力測試正是以軟件響應速度為測試目標,尤其是針對在較短時間內大量并發用戶的訪問時,軟件的抗壓能力。本文以 JMeter 為例,介紹了如何使用它來完成常用的壓力測試:Web 測試、數據庫測試和 JMS 測試。
 

概述

  JMeter 最早是為了測試 Tomcat 的前身 JServ 的執行效率而誕生的。到目前為止,它的最新版本是2.1.1,它的測試能力也不再僅僅只局限于對于Web服務器的測試,而是涵蓋了數據庫、JMS、Web Service、LDAP等多種對象的測試能力。在最新的 2.1.1 中,它還提供了對于 JUNIT 的測試。
 
  JMeter 的安裝非常簡單,從官方網站上下載,解壓之后即可使用。運行命令在%JMETER_HOME%/bin 下,對于 Windows 用戶來說,命令是 jmeter.bat.運行前請檢查JMeter 的文檔,查看是否具備相關的運行條件。對于最新版(即2.1.1),需要JDK的版本要求是JDK 1.4.
 


JMeter 的主要測試組件總結如下:

  1. 測試計劃是使用 JMeter 進行測試的起點,它是其它 JMeter 測試元件的容器。
 
  2. 線程組代表一定數量的并發用戶,它可以用來模擬并發用戶發送請求。實際的請求內容在Sampler中定義,它被線程組包含。
 
  3. 監聽器負責收集測試結果,同時也被告知了結果顯示的方式。
 
  4. 邏輯控制器可以自定義JMeter發送請求的行為邏輯,它與Sampler結合使用可以模擬復雜的請求序列。
 
  5. 斷言可以用來判斷請求響應的結果是否如用戶所期望的。它可以用來隔離問題域,即在確保功能正確的前提下執行壓力測試。這個限制對于有效的測試是非常有用的。

 6. 配置元件維護Sampler需要的配置信息,并根據實際的需要會修改請求的內容。
 
  7. 前置處理器和后置處理器負責在生成請求之前和之后完成工作。前置處理器常常用來修改請求的設置,后置處理器則常常用來處理響應的數據。
 
  8. 定時器負責定義請求之間的延遲間隔。
 
  JMeter的使用非常的容易,在 ONJava.com 上的文章 Using JMeter 提供了一個非常好的入門。
 

常用測試

  壓力測試不同于功能測試,軟件的正確性并不是它的測試重點。它所看重的是軟件的執行效率,尤其是短時間內訪問用戶數爆炸性增長時軟件的響應速度,壓力測試往往是在功能測試之后進行的。在實際的開發過程中,軟件潛在的效率瓶頸一般都是那些可能有多個用戶同時訪問的節點。
 
  就目前 Java EE 的平臺下開發的軟件來說,這種節點通??赡苁牵篧eb 服務器、數據庫服務器和 JMS 服務器。它們都是請求主要發生的地點,請求頻率較其它的節點要高,而且處于請求序列的關鍵路徑之上。如果它們效率無法提高的話,對于整個軟件的效率有致命的影響。而且在這些節點上一般都會發生較大規模的數據交換,有時其中還包含有業務邏輯處理,它們正是在進行壓力測試時首先需要考慮的。
 
  本文以這三種節點為例,介紹如何使用 JMeter 來完成針對于它們的壓力測試。
 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97