作用:實時采集JMeter測試數據,通過Grafana展示性能指標(如響應時間、吞吐量、錯誤率),實現可視化監控。
步驟:
/etc/influxdb/influxdb.conf
)開啟HTTP API(bind-address = ":8086"
)和Graphite數據格式支持(取消注釋[graphite]
部分)。http://<服務器IP>:3000
登錄,配置InfluxDB數據源(URL為http://<InfluxDB服務器IP>:8086
,數據庫名jmeter
)。InfluxdbBackendListenerClient
;配置InfluxDB連接信息(URL、數據庫名、用戶名/密碼,若未設置則留空)。作用:通過Jenkins實現JMeter測試腳本的自動觸發、執行及報告生成,支持代碼提交后自動跑測試,提升測試效率。
步驟:
java -version
驗證)、Jenkins(通過YUM倉庫安裝,啟動服務并設置開機自啟)、Ant(下載解壓,配置環境變量ANT_HOME
,將ant/bin
加入PATH
)。extras
目錄下的ant-jmeter-1.1.1.jar
復制到Ant的lib
目錄;修改JMeter配置文件(bin/jmeter.properties
),將jmeter.save.saveservice.output_format
設置為xml
(便于Ant解析)。build.xml
文件,配置JMeter任務(如jmeter
目標調用jmeter.sh
執行腳本,report
目標生成HTML報告)。示例配置:<project name="JMeterTest" default="report" basedir=".">
<property name="jmeter.home" value="/usr/local/apache-jmeter-5.4.1"/>
<property name="jmeter.result.jtl" value="result/result.jtl"/>
<property name="jmeter.result.html" value="result/report.html"/>
<target name="run">
<exec executable="${jmeter.home}/bin/jmeter.sh">
<arg value="-n"/> <!-- 非GUI模式 -->
<arg value="-t"/> <!-- 指定測試腳本 -->
<arg value="script/test.jmx"/>
<arg value="-l"/> <!-- 結果文件 -->
<arg value="${jmeter.result.jtl}"/>
</exec>
</target>
<target name="report" depends="run">
<xslt in="${jmeter.result.jtl}" out="${jmeter.result.html}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"/>
</target>
</target>
build.xml
路徑和目標);添加后置構建步驟(“Publish HTML reports”,指定HTML報告路徑result/report.html
)。作用:將JMeter測試納入Maven項目管理,通過Maven命令執行測試,適合Java項目集成。
步驟:
MAVEN_HOME
,將maven/bin
加入PATH
);創建Maven項目(mvn archetype:generate
)。ApacheJMeter_core
、ApacheJMeter_java
)和jmeter-maven-plugin
插件;配置插件參數(如JMeter版本、結果文件格式xml
、報告路徑)。示例配置:<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>5.4.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<jmeterVersion>5.4.3</jmeterVersion>
<resultsFileFormat>xml</resultsFileFormat>
<testFilesDirectory>${project.basedir}/src/test/jmeter</testFilesDirectory>
<generateReports>true</generateReports>
</configuration>
</plugin>
</plugins>
</build>
mvn verify
,Maven會自動下載JMeter依賴,執行測試腳本,生成HTML報告(位于target/jmeter/reports
)。作用:通過Docker容器運行JMeter,實現測試環境隔離,便于快速部署和擴展。
步驟:
justb4/jmeter
),或自定義鏡像(包含測試腳本)。docker run
命令啟動JMeter容器,掛載測試腳本目錄(-v /local/script:/scripts
),執行測試(-n -t /scripts/test.jmx -l /scripts/result.jtl
)。示例:docker run -d --name jmeter-master -v /local/script:/scripts justb4/jmeter -n -t /scripts/test.jmx -l /scripts/result.jtl
docker run -d --name jmeter-slave -e JMETER_SLAVE=true justb4/jmeter
),Master容器通過-R
參數指定Slave節點(docker run -d --name jmeter-master -v /local/script:/scripts justb4/jmeter -n -t /scripts/test.jmx -l /scripts/result.jtl -R jmeter-slave
)。作用:通過Prometheus采集JMeter性能指標,結合Granafa實現實時監控和告警(如響應時間超過閾值觸發告警)。
步驟:
prometheus.yml
),添加JMeter監控目標(如job_name: 'jmeter'
,static_configs: targets: ['<JMeter服務器IP>:8080']
)。http://<Prometheus服務器IP>:9090
)。Backend Listener
(選擇PrometheusBackendListenerClient
),配置Prometheus服務器地址(url: http://<Prometheus服務器IP>:9090
)。JMeter Overview
),即可查看實時性能指標;配置告警規則(如response_time_seconds > 2
),觸發告警通知。