1、修改物理内存
使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=128m -Xss256k",但结果运行时间增加了,但最终还是报内存溢出,百度后按照网友的建议更改了如下设置后jmeter就没有再卡了:
1、windows环境下,修改jmeter.bat:
set HEAP=-Xms512m -Xmx4000m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m
根据经验,heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.
注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错:
1、windows环境下,修改jmeter.bat:
set HEAP=-Xms512m -Xmx4000m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m
根据经验,heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.
注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错:
2、jmeter 录制 排除/包含模式设置
设置包含模式及排除模式,若不设置,在录制完之后,可以把不需要的.css .jpg的行删掉。标准的包含模式及排除模式如下所列。
i. .* - all
ii. .*.png – png images
iii. .*.gif – gif images
iv. .*.jpg – jpeg images
v. .*.php
vi. .*.jsp
vii. .*.html
viii. .*.htm
ix. .*.js
3、jmeter 可视化图形报告配置
1、使用CMD 进入jmeter bin目录
输入:jmeter -n -t (脚本路径) -l testLogFile -e -o (存放报告的路径)
样本:jmeter -n -t C:\Users\samsung-\Desktop\接口报告\脚本\登录页面+我的窝页.jmx -l testLogFile -e -o ./out
2、对已有的CSV文件生成报告,需配置jmeter.properties
配置修改:
jmeter.save.saveservice.bytes = true
# Only available with HttpClient4
#jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
jmeter.save.saveservice.connect_time = true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss
如果需要Errors报告更详细,配置:
jmeter.save.saveservice.assertion_results_failure_message = true
使用事物控制器请确认Generate parent sample为未勾选
对已有CSV日志文件生成报告
命令:jmeter -g <log file> -o <Path to output folder>
参考:http://www.cnblogs.com/greattao/p/6813156.html
4、上传图片
某些浏览器(例如Firefox和Opera)在上传文件时不包含文件的全名。这可能导致JMeter代理服务器失败。一个解决方案是确保任何要上传的文件都位于JMeter工作目录中,方法是复制文件,或者在包含文件的目录中启动JMeter。
5、记录在JMeter中本机不可用的基于HTTP的非文本协议
您可能需要记录JMeter(自定义二进制协议,Adobe Flex,Microsoft Silverlight,...)默认情况下未处理的HTTP协议。虽然JMeter不提供本地代理实现来记录这些协议,但您可以通过实现自定义SamplerCreator来记录这些协议。此采样器创建者将将二进制格式转换为可添加到JMeter测试用例的HTTPSamplerBase子类。有关详细信息,请参阅“扩展JMeter”。
6、JMeter4.0版本修改成中文界面