【问题标题】:Server Throughput definition ambiguity服务器吞吐量定义不明确
【发布时间】:2020-09-02 02:38:34
【问题描述】:

吞吐量是服务器实例可以处理的最大请求数还是服务器实例当前处理的请求数?

编辑:“当前处理”是指服务器在最近一段时间内在给定时间间隔内接收的请求数。例如:服务器当前每分钟处理 400 个请求。

例如:我可能有一个带有大量硬件的服务器实例,可以具有高吞吐量,但我可能只接收少量流量。在这种情况下,吞吐量衡量的是什么。另外,相反的情况呢,即如果我的实例每分钟只能处理 x 个请求。但每分钟收到 y>>>x 个请求。

如果吞吐量是最大数量。服务器可以处理的请求数,如何衡量?我们是否进行负载/压力测试,不断增加服务器上的每分钟请求数,直到它无法再处理它们?

【问题讨论】:

    标签: server jmeter newrelic stress-testing throughput


    【解决方案1】:

    不,Throughput 是一个取决于执行时间的聚合,您可以在同一秒内发送 1000 个请求而您的服务器不会处理,但是当您在一小时内发送 1000 个请求时,您的服务器会处理正常。

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

    你想通过增加 JMeter 线程直到服务器达到最大值来找到你的服务器可以处理的并发用户数

    【讨论】:

      【解决方案2】:

      吞吐量是 JMeter 在测试期间执行的 Samplers 的数量。如果您想查看正在发送的实际请求数量 - 考虑使用 Server Hits Per Second 监听器(可以使用 JMeter Plugins Manager 安装)

      如果您发现您的服务器资源消耗没有随着您增加 JMeter 中的负载而增加,原因如下:

      1. 您的应用程序中间件配置不适合高负载(即并发会话有限制,并且请求正在排队而不是被处理),请查看Web Performance Optimization: Top 3 Server and Client-Side Performance Tips 了解可以查看的总体思路
      2. 您的应用程序代码没有有效地利用底层操作系统资源,请考虑使用profiler tool 来了解幕后情况。
      3. JMeter 可能无法足够快地发送请求,请务必关注JMeter Best Practices,如果 JMeter 的机器过载 - 考虑使用Distributed Testing

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多