零基础性能测试实战直播班招生中,多种优惠进行中,优惠无套路,开课你决定       |       python自动化测试班-轻课模式,随到随学

咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans

jmeter学习指南之OOM和监听器使用

2019-02-12 11:52:00
小静
原创 1418 投稿得红包

点击链接加入QQ群229390571(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa


OOM

在执行压测的时候,有时候会遇到 OutOfMemoryError 内存溢出问题。

可以通过调整 JVM 内存参数进行优化,是在 jmeter.bat 启动文件中配置的。

以文本方式打开 jmeter.bat,修改以下配置项:


调整堆内存 HEAP 的大小:

将默认的 set HEAP=-Xms512m -Xmx512m,调整为 set HEAP=-Xms1024m -Xmx1024m;
调整堆内存中新生代 NEW 的大小:

将默认的 set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m,调整为 set NEW=-XX:NewSize=256m -XX:MaxNewSize=256m;
调整堆内存中永久代 PERM 的大小:

将默认的 set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m,调整为 set PERM=-XX:PermSize=128m -XX:MaxPermSize=256m;
修改后重启 jmeter,oom 问题一般可以得到解决(参数的调整不是越大越好,具体根据测试机的硬件配置来决定,循序渐进)。

监听器的使用
监听器即 listener ,用来收集 sampler 的结果数据和呈现结果图形,我们最常用的有察看结果树、聚合报告等等。

监听器本身会在每次 sampler 运行完成后执行一次,即一个测试计划中的监听器数量越多,运行时带来的资源消耗就越大(尤其是 察看结果树 和 用表格察看结果 等)。

因此实际执行测试计划时,应首先禁用不需要的监听器,再开始执行;

或者是运行时只启用一种监听器, 并将生成的结果写入文件中,然后就可以用不同的监听器展现保存的结果数据。

但是, 实际在并发量较大时、或者进行稳定性测试时,最好是去掉或禁用所有的监听器,根据断言结果来判断请求是否成功, 测试报告以plugins插件中的报告形式、或是用文本形式,以此来提高测试结果的准确性。

    技术交流QQ群 229390571 测试帮日记接口测试群

    电影下载QQ群 533341883 XQ电影下载圈