【问题标题】:How to obtain the expected TPS., which is calculated by parameters value?如何获得预期的TPS,通过参数值计算?
【发布时间】:2021-12-13 19:54:11
【问题描述】:

我使用了40个线程的普通线程组,吞吐量180000,预期TPS是3000..,但是,结果只有2750 tps。,如何提高TPS? 我已经尝试了并发线程组以及整形计时器组合.. 你能指导我吗..,在此先感谢。

【问题讨论】:

    标签: performance concurrency jmeter throughput tps


    【解决方案1】:

    通过在单位时间内(秒、分钟、小时等)向目标服务器发送所需数量的请求来控制TPS或吞吐量

    通过更改线程数来控制吞吐量并不容易,也不是好习惯。当服务器变慢时,吞吐量变低,反之亦然。

    您需要在服务器响应较快时引入延迟,在服务器响应较慢时引入更多线程。通过设置线程数来达到想要的吞吐量并不容易。

    请注意

    如果服务器无法处理它,或者如果其他计时器或耗时的测试元素阻止它,吞吐量将会降低。

    JMeter 有多种方法可以通过向请求引入延迟来实现所需的吞吐量。

    使用计时器

    在上述情况下,您需要确保有足够数量的线程可用以生成所需的吞吐量。如果创建的线程数多于所需线程数,则此解决方案效率不高。

    最好的方法是测试应该按需创建额外的线程,并根据需要在请求之间引入延迟。

    在 JMeter 中,您可以使用 Concurrency Thread GroupThroughput Shaping Timer 来实现此目的。

    This video 演示控制器的使用。

    【讨论】:

    • 我已经检查了并发线程组以及吞吐量整形计时器。如果我为 3000 tps 定义一个值。它会导致输出高达 2700 tps。所以,当我尝试上述方法时没有任何改善。[它从 13k tps 开始,随着时间的推移逐渐减少 tps 计数:这是没有计时器的并发线程组的结果]。
    • 当我在线程组中尝试并发时 CPU 利用率为 80%。
    • 最初,我使用了精确的吞吐量计时器。吞吐量:180000,加速期 200,预期 TPS=(180000/60=3000),结果 TPS=2700 tps(15 分钟后)。从 3000 TPS 开始,随着时间的推移逐渐减少 TPS 计数。
    • 请您给我一个解决方案来降低 CPU 利用率 n jmeter。以下是使用的堆大小:${HEAP:="-Xms1g -Xmx8g -XX:MaxMetaspaceSize=4g"}
    • 执行测试时JMeter(java进程)的CPU使用率是多少?您可以在非 gui 模式下运行测试,以 CSV 格式保存测试结果,仅使用必需/最少的断言,删除不必要的插件,最后生成测试报告,仅在侦听器中保存必填字段
    【解决方案2】:
    1. 首先,您的应用程序必须能够处理这样的负载。我不知道你的 180000 of throughput, 节是什么意思,如果你把它放到恒定吞吐量计时器上,请注意:
    • 在“分钟”级别上足够精确

    • 它只能“暂停”JMeter 以将其吞吐量“限制”到给定值

      通常,只有 1 个用户每秒发出 75 个请求,您才能在 40 个用户的情况下达到 3000 TPS,这意味着您的应用程序响应时间应低于 75 毫秒。

      如果响应时间会更长 - 您将无法在 40 个用户的情况下达到每秒 3000 个请求。

    1. JMeter 也应该能够足够快地发送请求,所以请务必关注JMeter Best Practices,如果这还不够,请考虑使用Distributed Testing

    更多信息:What is the Relationship Between Users and Hits Per Second?

    【讨论】:

    • 我使用了精确吞吐量计时器,吞吐量值分配为 180000,因此预期的 TPS 值为 3000(180000/60)。我将计算应用程序响应时间作为下一步。
    • 请您给我一个解决方案来降低 CPU 利用率 n jmeter。以下是使用的堆大小:${HEAP:="-Xms1g -Xmx8g -XX:MaxMetaspaceSize=4g"}
    猜你喜欢
    • 2011-10-17
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2017-05-30
    • 2016-04-09
    相关资源
    最近更新 更多