Jmeter压测问题汇总

缘起

公司的Elasticsearch流量日益减少,经过评估,我们计划迁移到成本更低的Mysql集群上,需要对接口进行压力复测

版本

  • JDK17(会有兼容性问题,建议使用JDK17之前的版本)
  • Jmeter 5.2.1

windows系统下临时端口不够用问题

java.net.BindException: Address already in use: connect

解决方案:

  1. 增加临时端口数量:网上一搜一大堆,不再赘述
  2. Jmeter线程组去掉Use KeepLive选项

Jmeter GUI配置的csv文件迁移后找不到问题

大多的Jmeter在使用GUI配置好后都会生成.jmx文件并使用命令启动进行压测,我是在windows上配置好压测脚本并生成jmx文件放在服务器上使用命令执行:

/opt/app/apache-jmeter-5.2.1/bin/jmeter -n -t /opt/app/jmx_files/xxx接口-单压-100并发-5分钟.jmx -l /opt/app/jtl_files/xxx接口-单压-100并发-5分钟.jtl -e -o /opt/app/jmeter_result

出现错误:

File xxx.csv must exist and be readable

原因是我在windows下设置了csv的绝对路径,但在服务器上没这个路径导致报错。
解决方案:

  1. 使用服务器绝对路径并把csv文件放在这个绝对路径下
  2. 使用跨平台配置,csv路径设置为${__P(user.dir,)}${__P(file.separator,)}xxx.csv,然后把xxx.csv文件放在Jmeter home目录下bin下,并在bin中启动jmeter
  3. 如果你已经配置好并且生成了大量的jmx文件,不想回去一个个的调整,可以使用文本编辑器打开jmx文件,搜索到路径后统一替换

Jmeter 与jdk兼容性问题

java.lang.IllegalStateException: Begin size 0 is not equal to fixed size 5

原因是:在Java 17中,当消费者初始数组大小大于流大小时,stream.toArray()会抛出异常。

参考连接 https://www.saoniuhuo.com/question/detail-2760135.html
解决方案:
截止到文章发表日,JDK17未修复此问题,换成17以下的版本即可。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值