JMeter学习使用

各版本对比

了解各版本差异,可以查看官方文档。

http://jmeter.apache.org/changes_history.html

下面是我阅读时笔记,主要是我重点关注的一些点

Version 5.3

  • httpclient4.time_to_live 的默认值已从2000修改为60000,这意味着 HTTP 连接的寿命将比以前更长。这会影响连接创建和 SSL 握手,请参阅 错误 64289

  • 错误 64289 - 将httpclient4.time_to_live 设置60000以更接近典型的浏览器行为

Version 5.2

  • 错误 63720 - BackendListener:InfluxDBBackendListenerClient 添加对 InfluxDB 2 的支持。由 Jakub Bednář (https://github.com/bednar) 提供
  • 错误 62861 - 线程组:提供配置新迭代是新用户还是相同用户的能力(将应用于 Cookie 管理器、缓存管理器和 httpclient.reset_state_on_thread_group_iteration)。由 Ubik Load Pack 提供(在 ubikloadpack.com 上提供支持)

Version 5.0

  • 从 JMeter 5.0 开始,当使用默认的 HC4 实现时,JMeter 将在每个线程组迭代上重置 HTTP 状态(SSL 状态 + 连接)。如果您不想要这种行为,请设置httpclient.reset_state_on_thread_group_iteration=false
  • 从 JMeter 5.0 开始,关于上述评论,https.use.cached.ssl.context已被弃用,不再使用。
  • 从 JMeter 5.0 开始,当使用 CSV 输出时,子结果现在也将输出到 CSV 文件。要恢复到以前的行为集jmeter.save.saveservice.subresults=false,请参阅 错误 62470 错误 60917 错误 62550

Version 4.0

  • 错误 61794 - Influxdb 后端:只需在 GUI 后端侦听器上创建新行并在其名称前加上“ TAG_ ”,即可添加任意数量的自定义标签
  • 错误 61709 - SampleResult:添加方法**setIgnore()**以使 JMeter 忽略 SampleResult 并且不将其发送给侦听器
  • 错误 61806 - 允许在后处理器和断言脚本(JSR223 元素)中使用SampleResult#setIgnore( )

Version 3.3

InfluxDB BackendListener 现在支持通过 UDP 协议将结果发送到 InfluxDB。

img

  • 在 InfluxDbBackendListenerClient 中,statut属性已重命名为status
  • 默认情况下,JMeter 不会再截断超过 10 MB 的响应。如果要启用此截断,请参阅属性httpsampler.max_bytes_to_store_per_request
  • 错误 61121 - InfluxdbBackendListenerClient:仅发送所有百分位数,而不是KOOK
  • 错误 60743 - 由于 HTTPCORE-446,停止/关闭测试可能会造成死锁,已通过 HttpCore 升级到 4.4.7 修复

Version 3.2

JMeter 现在提供了一个与 InfluxDB 接口的新 BackendListener 实现。此实现使用异步 HTTP 调用通过其HTTP API向 InfluxDB 发送数据, 并为您提供以下带有注释的图表。

img

  • 报告现在可以根据正则表达式或样本名称自定义每个事务的 APDEX 阈值。下面的示例将为样本 sample(\d+)、sampleA 和场景 B 应用不同的阈值,而不是声明的默认阈值(500 和 1500 用于满足和容忍的阈值):

    jmeter.reportgenerator.apdex_satisfied_threshold=500 
    jmeter.reportgenerator.apdex_tolerated_threshold=1500 
    jmeter.reportgenerator.apdex_per_transaction=sample(\\d+):1000|2000;\ 
        sampleA:3000|4000;\ 
        scenarioB:5000
  • 错误 59882 - 减少内存分配以获得更好的吞吐量。由 Benoit Wiart(在 ubik-ingenierie.com 上的 b.wiart)通过 拉取请求 #217 拉取请求 #228 提供

  • 如果您在启动时收到有关多个 SLF4J 绑定的警告。删除 Apache JMeter 提供的绑定 lib/ApacheJMeter_slf4j_logkit.jar或所有其他报告的绑定。有关更多信息,您可以查看SLF4Js 自己的信息页面。

二次开发学习

JMeter自定义采样器插件开发

PTS-JMeter Plugin专属插件

阿里巴巴在开源压测工具 JMeter 上的实践和优化:

https://mp.weixin.qq.com/s/yUcJGzAcigiN0dbgXhaS8g

PTS帮助文档:

https://help.aliyun.com/document_detail/379921.html

当前版本jar包下载:

https://jmeter-pts-testing-version.oss-cn-shanghai.aliyuncs.com/plugins/AlibabaCloud-PTS-JMeter-Plugin-1.1.jar?spm=a2c4g.11186623.0.0.4ddc5993bpuaw4&file=AlibabaCloud-PTS-JMeter-Plugin-1.1.jar