Jmeter录制复杂页面脚本时Jvm崩溃或者栈溢出问题的解决

使用Jmeter进行性能测试,录制Web页面脚本时,如果页面过于复杂,尤其在一些企业级应用系统中,会出现Jmeter突然崩溃,日志中抛出Java栈溢出错误。

经过排查,发现是在页面中对Form accept-charset进行计算时,采用了递归遍历的算法,当Dom树足够复杂的时候,就会使用大量的Java stack内存,由于Java Stack内存较小,不同系统默认值不一样,一般不超过2M,当然最简单的办法是通过设置-xss参数,但是设置到多大合适需要不断调试,而且设置过大导致JVM能够创建的线程数受限,不是根本解决办法。最有效的解决办法是不采用递归遍历的算法,HyperPacer中采用了非递归遍历算法解决了此问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于JMeter录制iOS脚本的证书配置,你需要完成以下步骤: 1. 在你的iOS设备上安装并信任所使用的SSL证书。你可以通过以下方式完成: - 将证书文件发送到你的iOS设备上,然后在设备上打开证书文件进行安装。 - 通过邮件或其他方式将证书文件发送给自己,在设备上打开邮件并安装证书。 2. 在JMeter中配置代理服务器以便录制HTTPS请求。在JMeter中,选择"Options" > "SSL Manager"。然后点击"Clear"按钮清除已有的证书,再点击"Start"按钮生成新的证书。 3. 在iOS设备上配置代理服务器。在iOS设备中,进入"设置" > "无线局域网" > "选择当前连接的WiFi网络" > "HTTP代理"。选择"手动"并输入你计算机的IP地址和JMeter设置的代理端口号。 4. 在JMeter中,通过选择"Options" > "Proxy Server"来配置代理服务器。输入代理服务器的端口号,并确保"Capture HTTP Headers" 和 "Capture HTTPS Headers" 选项被选中。 5. 启动JMeter的代理服务器。在JMeter中,选择 "Options" > "Start" 或者点击工具栏上的 "Start" 按钮。 6. 在iOS设备上使用你想要测试的应用程序,并确保所有的网络请求都经过了JMeter代理服务器。 7. 在JMeter中,选择"Recording Controller",然后点击工具栏上的 "Start" 按钮开始录制。 这样,JMeter就会开始录制你的iOS应用程序的网络请求,并将其保存为JMX脚本文件。请注意,录制期间可能会出现证书安全提示,请按照提示进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值