使用 Jmeter 的吞吐量和响应时间

Posted

技术标签:

【中文标题】使用 Jmeter 的吞吐量和响应时间【英文标题】:Throughput and response time using Jmeter 【发布时间】:2020-01-31 08:20:42 【问题描述】:

如何找出我的应用程序在 1 秒的 sla 内作为响应时间可以实现的最大吞吐量。即响应时间应在 1 秒内

目前我正在使用吞吐量控制器并设置所需的每分钟吞吐量,但我需要知道我的应用程序可以在平均响应时间少于 1 秒的情况下提供的最大吞吐量。

【问题讨论】:

【参考方案1】:

使用线程组,将线程数(用户)设置为某个较大的数字,并将启动时间设置为例如:600 秒(10 分钟) Jmeter 将缓慢增加吞吐量,您可以在摘要报告(Max 列)中监控 Max 响应时间 - 当它开始达到 1 秒时,您可以读取您想要的吞吐量(在吞吐量列中)然后我建议将此数字设置为线程数,减少臀部- 启动并运行几个小时的测试。

避免在 JMeter 的循环中使用休眠。当心应用程序端的缓存。监控错误列中的故障并检查两侧的系统运行状况(CPU、内存、IO、网络...)

【讨论】:

【参考方案2】:

请注意Throughput Controller 不控制吞吐量。

以下来自JMeter官方网站。

这个控制器的名字很糟糕,因为它不控制吞吐量。 请参考Constant Throughput Timer 的元素,可以 用于调整吞吐量。

如果您想控制随时间变化的吞吐量,您可以使用插件Throughput Shaping Timer。

更改线程(虚拟用户)和吞吐量以检查服务器可以处理的最大值。

Use Duration Assertion 检查每个所需采样器的响应时间。

【讨论】:

【参考方案3】:

不要限制 JMeter 的吞吐量。

从 1 个线程(虚拟用户)开始,逐渐增加负载,直到您看到响应时间超过 1 秒(您可以使用即AutoStop Listener 插件在平均响应高于 1 秒时自动停止测试)

完成后,您可以查看Transactions per Second 和Server Hits per Second,它会为您提供所需的号码。

【讨论】:

以上是关于使用 Jmeter 的吞吐量和响应时间的主要内容,如果未能解决你的问题,请参考以下文章

吞吐量和响应时间如何相关

Jmeter之性能测试指标介绍

jmeter名词解释之聚合报告

JMeter主要元件

Jmeter插件之ServerAgent服务器性能监控工具的安装和使用

JMeter2.13进行压力测试