jmeter

阅读数:135 评论数:0

跳转到新版页面

分类

工程管理

正文

1、持续时间设置

设置调度器设置,需要将前面的循环次数设置为永远。

2、性能调优

(1)优化监听(GUI模式)

  1. “查看结果树”,需要勾选“仅日志错误”,这样只会保存错误日志到内存,数据不会多。如果保存所有,那么会保存每个请求请求信息和相应信息,而且这些数据都是保存到jvm内存的,且常驻数据无法回收,上万十万大量请求很快就会压垮jmeter。
  2. 聚合报告”中小并(100以内)发可以保留;高并发去掉,添加“Simple Data Writer”且保存csv格式数据。“聚合报告”是非常消耗cpu的。
  3. 其他监听组件可以都去掉,测试完后通过保存的结果,线下生成图表报告

(2)优化监听(Non-GUI命令行模式) 

  1. “查看结果树”,需要勾选“仅日志错误”,需要设置路径,保存错误信息到文件,并且保存所有信息(点击Configure,勾选所有非CSV选项)
  2. “聚合报告”命令行下无效
  3. 其他监听组件可以都去掉,基本在Non-GUI下无效

(3)结果文件优化

  1. 结果数据一定要保存为CSV格式(比起xml格式,每条数据会少很多)
  2. “查看结果树”保存的错误信息要保存为xml,可以保存完整结果信息,方便错误分析

(4)勿使用分布式压测

  1. jmeter分布部署只是解决问题,没根本解决问题,高并发时master机器承受的压力很大,形成单点,无法在高并发时提供稳定负载
  2. 数据会写可能丢失
  3. 解决方法:需要手工运行slave,或利用jenkins同时触发多台slave

(5)建议用Non-GUI命令行模式运行

3、聚合报告

  • Label:请求取样器名称
  • Samples:发送请求的数量。
  • Average:默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间。
  • Median:中位数,表示响应时间不大于该时间的请求样本数占总数的50%。
  • 90%:样本90%的响应时间不大于此值。
  • 95%:样本95%的响应时间不大于此值。
  • min:最小响应时间。
  • max:最大响应时是。
  • error%:出现错误请求样本的百分比。
  • throughtput:tps
  • kb/sec:以Kilobytes/second来衡量吞吐量。

4、命令行执行Jmeter

JMeter -n -t 文件名.jmx -l log.jtl

来进行测试,如果无法执行请检查自己机器的环境变量.
参数说明:
-n This specifies JMeter is to run in non-gui mode
-t [name of JMX file that contains the Test Plan].
-l [name of JTL file to log sample results to].
-r Run all remote servers specified in JMeter.properties (or remote servers specified on command line by overriding properties)
The script also lets you specify the optional firewall/proxy server information:
-H [proxy server hostname or ip address] 

 

-P [proxy server port]

(1)执行测试脚本 

jmeter -n -t JMeter分布式测试示例.jmx

日志默认输出路径同jmx脚本路径。

(2)指定结果文件及日志路径 

meter -n -t Jmeter分布式测试示例.jmx -l report/01-result.csv -j report/01-log.log

若日志路径不存在,Jmeter不会自动创建,同时将日志输出至命令行窗口。

结果文件类型为jtl或csv,可通过JMeter的聚合报文浏览结果文件。

5、JMeter日志和错误信息

如果JMeter发现一个错误,一个消息将被写入日志文件。日志文件名在jmeter.properties文件中定义。一般定义为jmeter.log。并且 在JMeter启动目录。

6、修改字体

(1)修改主主题

在界面菜单上选择: 选项-》外观-》system

使用System主题时,界面左侧的字体稍大一些,但不能改变右侧参数的字体。

(2)修改jmeter.properties

设置jsyntaxtextarea.font.size=25,值越大字体越大。

此方法是针对界面右侧的body data部分的字体大小。

7、设置中文

修改jmeter.properties,language=zh_CN

8、JMeter classpath

JMeter自动从在它的/lib和/lib/ext目录中的jar包发现类。如果你开发新的JMeter组件,你可以压缩它们成jar包并拷贝到JMeter的/lib/ext目录。如果你不想把扩展jar包放到lib/ext目录,可以在jmeter.properties中定义search_paths属性。

你可以在$JAVA_HOME/jre/lib/ext安装有用的jar文件,或者你可以在jmeter.properties中设置user.classpath属性,注意设置CLASSPATH环境变量将不起作用。

9、线程组设置

(1)Number of Threads(users):线程数(仅仅只是模拟用户量的并发数),若是需要不同用户,需要参数化用户。

(2)Ramp-Up Period(in seconds):启动用户的时间,加速时间(启动所有线程所需的时间),例如用户数为5个,这里是10s,每个用户启动的时间为10/5=2,每2s启动1个用户。

(3)Loop count (Forever):循环次数,设置数值来决定用户循环的次数

(4)Delay thread creation until needed:延迟线程创建,直到需要线程才会创建,不勾选就是启动所有线程,到时间了采样器才执行请求。

(5)Scheduler:如果设置了这个,forever就不会起作用,受下面配置项控制:

--Duration:持续时间,,结束时间失败

--Startup delay:启动延迟,与启动时间矛盾

--start time:启动时间

--end time:结束时间

 

 




相关推荐