我无法将吞吐量增加到我想要的数量

I cannot increase the throughput to the number I want

我正在尝试对我的服务器进行压力测试。 为此,我使用 Jmeter,这是我的设置:

我用 my Setup

Thread: 1000
schedule for 3 mins

如您所见,我在 3 分钟内继续使用 1000 个线程。 但是当我查看吞吐量时,我每秒只能得到大约 230

results

那么我应该怎么做才能将吞吐量提高到例如每秒 1000000 次?为什么增加我认为意味着更多负载的线程不会增加吞吐量?

吞吐量衡量在给定时间段内可以进行的事务或请求的数量。基本上,它列出了服务器在给定时间段内设法处理的请求数。吞吐量值取决于很多因素,也许您的被测应用程序无法满足预期负载。 因此,对于 1000 个线程,您不能期望 1000 的吞吐量。

您可以自行决定您的应用程序可以处理多少吞吐量。为此,您可能需要在您这边进行不同的优化,例如优化您的脚本、通过 JMeter 执行分配负载、增加 theard 计数等

根据JMeter Glossary

Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.

The formula is: Throughput = (number of requests) / (total time).

吞吐量明确依赖于应用程序响应时间。查看您的结果,平均响应时间为 3.5 秒,因此您每秒不会收到超过 1000 / 3.5 = 285 个请求

理论上你可以使用 Throughput Shaping Timer and Concurrency Thread Group 组合,这样如果当前数量不足以 reach/maintain 所需的吞吐量,JMeter 将启动额外的线程,但是要考虑 8.5% 的错误率和最大值您的应用程序的响应时间 > 2 分钟我的预期是您将无法获得更多的吞吐量,因为很可能您的应用程序过载并且无法更快地响应。