【问题标题】:How to achive 10tps throughput for individual request in a thread group如何为线程组中的单个请求实现 10 tps 吞吐量
【发布时间】:2019-10-29 20:54:14
【问题描述】:

我有一个如下的 jmeter 脚本:

Thread group
+ Register client HTTP REQUEST
+ Health check HTTP REQUEST
+ Create event HTTP REQUEST
   + Constant timer 3000 ms

我有以下问题:

  1. 我有目标吞吐量,即每个请求的 10tps,即注册、健康检查和事件单独需要达到 10tps 的吞吐量。无论如何我可以在 jmeter 中设置以确保服务器可以处理它?

  2. 在创建事件时添加常量定时器会影响平均响应时间结果吗?

谢谢。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    您的配置结果:

    1. JMeter 将尽可能快地执行Register client HTTP REQUEST
    2. JMeter 将尽可能快地执行Health check HTTP REQUEST
    3. JMeter 将等待 3 秒
    4. JMeter 将尽可能快地执行Create event HTTP REQUEST

    根据JMeter Glossary

    吞吐量以请求/单位时间计算。时间从第一个样本开始到最后一个样本结束计算。这包括样本之间的任何间隔,因为它应该代表服务器上的负载。

    公式为:Throughput = (number of requests) / (total time).

    所以实际吞吐量取决于两个因素:

    1. 线程组中的线程数(虚拟用户)
    2. 您的应用程序响应时间

    如果您正在寻找一种每秒执行 10 个请求的方法 - 考虑使用 Throughput Shaping TimerPrecise Throughput Timer

    关于Constant Timer - 它的持续时间不包括在请求经过的时间中,它不会对平均响应时间结果产生任何影响,但如果有计时器,吞吐量会降低

    【讨论】:

    • 嗨@Dmitri T,我有一个问题。当我配置 50 个线程时,是否意味着每个线程都将使用相同的连接来发送请求?在这种情况下,服务器最多只能看到 50 个连接?
    • 每个虚拟用户打开一个到服务器的 TCP 连接。但是,它可能会打开多达 6 个额外的连接以下载 embedded resources。您可以使用Server Hits Per Second 监听器来监控感知负载,它会计算对嵌入式资源的调用。
    • 非常感谢您的回复。会检查的。
    猜你喜欢
    • 2019-05-14
    • 2015-07-14
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多