JMeter安装和配置
JMeter官网下载二进制
解压后,配置环境变量:
JMETER_HOME
系统变量path后面加上%JMETER_HOME%in
修改启动界面为中文
编辑jmeter bin目录下的文件jmeter.properties:
language=zh_CN
如果响应乱码,修改jmeter.properties:
sampleresult.default.encoding=utf-8
点击bin目录下的jmeter.bat,启动jmeter即可看到中文界面。
JMeter插件
下载插件管理:plugins-manager.jar,放入jmeter的lib/ext目录下后重启jmeter。
1.阶梯式加压插件:Custom Thread Groups中的Concurrency Thread Group,使用参考文章JMeter Concurrency Thread Group阶梯式加压;
2.服务器性能监控插件:PerfMon
PerfMon插件使用还需要在待监控机器上下载Server Agent,使用参考文章Jmeter插件之PerfMon监控插件使用说明。
3.Transactions per Second和Response Times Over Time插件:3 Basic Graphs
4.控制RPS即每秒请求数(Request Per Second)插件:Throughput Shaping Timer
5.命令行工具从JTL文件生成png图片和csv统计文件:Command-Line Graph Plotting Tool
用法:
生成png图片:
JMeterPluginsCMD.bat --generate-png ThreadsStateOverTime.png --input-jtl 1.jtl --plugin-type ThreadsStateOverTime
生成csv图片:
JMeterPluginsCMD.bat --generate-csv ThreadsStateOverTime.csv --input-jtl 1.jtl --plugin-type ThreadsStateOverTime
该命令参数:
–generate-png 指定png图片文件
–generate-csv 指定csv文件名
–input-jtl 指定要解析的jtl文件
–plugin-type 指定要输出的数据类型,比如响应时间、cpu使用率、错误率等
Plugin Type Classes
插件提供解析下面这些数据的对象:
- AggregateReport = JMeter’s native Aggregate Report, can be saved only as CSV 聚合报告
- SynthesisReport = mix between JMeter’s native Summary Report and Aggregate Report, can be saved only as CSV
- ThreadsStateOverTime = Active Threads Over Time 线程数随时间的变化曲线
- BytesThroughputOverTime 流量随时间的变化曲线
- HitsPerSecond 点击率随时间的变化曲线
- LatenciesOverTime 延迟随时间的变化曲线
- PerfMon = PerfMon Metrics Collector 服务器参数随时间变化曲线注意这个需要在jmx脚本中添加,服务器监控,要指定ip、端口、监控项,还需要指定perfMon的输出文件,或者在命令行指定,如sh jmeter.sh -n -t HTTP请求-baidu.jmx -l 2.jtp -JforcePerfmonFile=true,这样会输出在当前路径。
- DbMon 数据库采样器
- JMXMon = JMXMon Metrics Collector 监控服务器JVM情况
- ResponseCodesPerSecond 响应码随时间变化曲线
- ResponseTimesDistribution 响应时间分布
- ResponseTimesOverTime 响应时间随时间变化曲线
- ResponseTimesPercentiles 响应时间的百分比
- ThroughputVsThreads 吞吐率随线程变化曲线
- TimesVsThreads = Response Times VS Threads 响应时间随线程变化曲线
- TransactionsPerSecond 事务随时间变化曲线
- PageDataExtractorOverTime
- MergeResults= MergeResults Command Line Merge Tool to simplify the comparison of two or more load tests, need properties file (like merge-results.properties)
6.Jmeter标准功能增强插件:Custom JMeter Functions,源码
7.injmeter.properties修改如下几项:
server.rmi.ssl.disable=true
sampleresult.default.encoding=UTF-8
CookieManager.save.cookies=true