命令行模式运行jmeter,主从方式运行jmeter

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

命令⾏模式运⾏jmeter,主从⽅式运⾏jmeter
jmeter很⼩,很快,使⽤⽅便,可以在界⾯运⾏,可以命令⾏运⾏。

简单介绍下命令⾏运⾏的⽅式:
sh jmeter.sh -n -t my-script.jmx -R 10.6.5.31,10.6.5.35,10.6.5.36,10.6.5.37,10.6.5.72 -l 8.jtl
上⾯⼀条命令应该可以满⾜⼤部分需求。

-n:使⽤命令⾏模式运⾏
-t:指定要运⾏的jmx脚本
-R:指定使⽤那些slave节点压测
-l:压测记录保存在哪⾥
使⽤-R指定节点时,当然要⾸先在这些节点上启动jmeter-server的服务,-l指定⽇志,jmeter运⾏过程中的所有请求记录,都会保存在这个jtl⽂件中。

调试压测请求
命令⾏下,如果想查看每个请求返回的结果,需要修改jmeter.properties配置⽂件,
#jmeter.save.saveservice.assertion_results=none
#jmeter.save.saveservice.data_type=true
#bel=true
#jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
#jmeter.save.saveservice.response_data=false
# Save ResponseData for failed samples
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#tency=true
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=false
将上⾯的注释打开,并且值修改成true,就会打开该条记录,jmeter就会将该条信息输出到我们指定的jtl⽂件中,不要要注意压测过程中,会产⽣⼤量的这样的记录,真正压测时,最好不要开太多的⽇志记录。

实时查看压测结果
jmeter命令⾏下,也可以实时查看压测结果,同样是修改配置⽂件jmeter.properties。

# Summariser - Generate Summary Results - configuration (mainly applies to non-GUI mode)
#---------------------------------------------------------------------------
#
# Define the following property to automatically start a summariser with that name
# (applies to non-GUI mode only)
#=summary
#
# interval between summaries (in seconds) default 30 seconds
#summariser.interval=30 //这个表⽰统计频率
#
# Write messages to log file
#summariser.log=true
#
# Write messages to System.out
#summariser.out=true //是否将统计结果输出到控制台
打开上⾯的、summariser.interval、summariser.out这三个配置项,保存,重新运⾏jmeter,应该就可以在shell⾥看到统计信息了。

Remote engines have been started
Waiting for possible shutdown message on port 4445
summary + 3036 in 3s = 1001.6/s Avg: 25 Min: 14 Max: 58 Err: 3036 (100.00%) Active: 61 Started: 58 Finished: 0
summary + 25670 in 10.3s = 2494.7/s Avg: 61 Min: 11 Max: 190 Err: 25670 (100.00%) Active: 261 Started: 258 Finished: 0
summary = 28706 in 13.1s = 2192.0/s Avg: 57 Min: 11 Max: 190 Err: 28706 (100.00%)
summary + 27300 in 10.3s = 2654.9/s Avg: 129 Min: 10 Max: 407 Err: 27300 (100.00%) Active: 461 Started: 458 Finished: 0
summary = 56006 in 23.1s = 2426.7/s Avg: 92 Min: 10 Max: 407 Err: 56006 (100.00%)
summary + 27200 in 10.4s = 2606.1/s Avg: 202 Min: 10 Max: 528 Err: 27200 (100.00%) Active: 660 Started: 657 Finished: 0
summary = 83206 in 33.1s = 2512.8/s Avg: 128 Min: 10 Max: 528 Err: 83206 (100.00%)
summary + 26300 in 11s = 2478.3/s Avg: 284 Min: 11 Max: 702 Err: 26300 (100.00%) Active: 861 Started: 858 Finished: 0
summary = 109506 in 43.1s = 2541.1/s Avg: 166 Min: 10 Max: 702 Err: 109506 (100.00%)
summary + 26200 in 11s = 2439.0/s Avg: 355 Min: 10 Max: 866 Err: 26200 (100.00%) Active: 1000 Started: 997 Finished: 0
summary = 135706 in 53.1s = 2556.0/s Avg: 202 Min: 10 Max: 866 Err: 135706 (100.00%)
这⾥的错误率是100%,正常情况下应该是0%。

使⽤⾮ GUI 模式,即命令⾏模式运⾏ JMeter 测试脚本能够⼤⼤缩减所需要的系统资源。

使⽤命令
jmeter -n -t <testplan filename> -l <listener filename>
D:\Jmeter\bin>jmeter -n -t testplan.jmx -l listener.jtl
Created the tree successfully using testplan.jmx
Starting the test @ Thu Oct 29 11:23:49 CST 2009 (1256786629265)
Waiting for possible shutdown message on port 4445
Generate Summary Results + 5 in 8.5s = 0.6/s Avg: 981 Min: 296 Max: 2344 Err: 0 (0.00%)
Generate Summary Results + 1 in 0.2s = 4.3/s Avg: 232 Min: 232 Max: 232 Err: 0 (0.00%)
Generate Summary Results = 6 in 9.6s = 0.6/s Avg: 856 Min: 232 Max: 2344 Err: 0 (0.00%)
Tidying up ... @ Thu Oct 29 11:24:02 CST 2009 (1256786642453)
... end of run
这次我们可以清晰地看到每个线程的执⾏情况。

这⾥是我们使⽤⾮ GUI 模式运⾏测试脚本时可以使⽤的⼀些命令:
-h 帮助 -> 打印出有⽤的信息并退出
-n ⾮ GUI 模式 -> 在⾮ GUI 模式下运⾏ JMeter
-t 测试⽂件 -> 要运⾏的 JMeter 测试脚本⽂件
-l ⽇志⽂件 -> 记录结果的⽂件
-r 远程执⾏ -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使⽤的代理主机
-P 代理端⼝ -> 设置 JMeter 使⽤的代理主机的端⼝号
执⾏结果可以使⽤ GUI 模式下的聚合报告查看,⽐如你想要看 addCustomerScript201411060954.jtl 的报告,可以
打开 JMeter GUI 界⾯ -> 测试计划 -> 添加线程组 -> 添加聚合报告 -> 点击"所有数据写⼊⼀个⽂件"下的 "浏览..." 按钮找到你刚⽣成的 jtl ⽂件就可以对执⾏结果进⾏直观分析了:
如何⽣成html测试报告
如果未⽣成结果⽂件(.jtl),可运⾏如下命令⽣成报告:
jmeter -n -t test.jmx -l result.jtl -e -o /tmp/ResultReport
参数:
-n :以⾮GUI形式运⾏Jmeter
-t :source.jmx 脚本路径
-l :运⾏结果保存路径(.jtl),此⽂件必须不存在
-e :在脚本运⾏结束后⽣成html报告
-o :保存html报告的地址, 此⽂件必须不存在
如果已经⽣成结果⽂件(.jtl),可运⾏如下命令⽣成报告
jmeter -g result.jtl -o /tmp/ResultReport
Parameters:
-g :specifies the existing result file(.jtl)
打开页⾯ /tmp/ResultReport ⽂件夹中的 **index.html ** 可查看报告
我们可以通过修改 ** user.properties** ⽂件来配置报告, 详细说明和配置可参考
报告详解
Dashboard
Test and Report informations
测试和报告信息: 测试结果保存⽂件/测试开始时间/测试结束时间/展⽰过滤器。

APDEX(Application Performance Index)
应⽤程序性能满意度的标准,范围在 0-1之间,1表⽰达到所有⽤户均满意,可以在配置⽂件设置Requests Summary: 请求的通过率(OK)与失败率(KO),百分⽐显⽰。

Statistics: 数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并。

Errors: 错误情况,依据不同的错误类型,将所有错误结果展⽰。

Charts
⽤图表的形式展⽰测试数据,让测试报告更加直观。

特点:
将测试过程中经常使⽤的数据,⽤图表的形式展⽰,让测试结果更加直观
每个图表数据,有两种展⽰形式。

⽀持请求样例过滤显⽰
⽀持导出 PNG图⽚格式
Over Time
Response Times Over Time: 响应时间
Bytes Throughput Over Time: 字节接收/发送的数量
Latencies Over Time: 延迟时间
Throughput
Hits Per Second: 每秒点击率
Codes Per Second: 每秒状态码数量
Transactions Per Second: 每秒事务量
Response Time Vs Request: 响应时间点请求的成功/失败数
Latency Vs Request: 延迟时间点请求的成功/失败数
Response Times
Response Time Percentiles: 响应时间百分⽐
Active Threads Over Time: 激活线程数
Time Vs Threads: 测试过程中的线程数时续图
Response Time Distribution: 响应时间分布。

相关文档
最新文档