gpt4 book ai didi

少量用户的 Tomcat 吞吐量限制

转载 作者:行者123 更新时间:2023-11-28 23:05:11 27 4
gpt4 key购买 nike

我们有一个 webapp 服务于我们的一项服务的请求。我们让它在 Tomcat 7 服务器上运行。如下所述,不需要更多详细信息,因为我们使用我们可以创建的最基本的 Servlet 得到了类似的结果。

我们使用 jmeter 运行负载测试,使用不同数量的并发线程向我们的服务请求一分钟。根据结果​​,我们生成了一些图表,其中包含平均响应时间与并发线程的关系,以及每秒请求数与并发线程的关系。

在我们的测试中,大约有 10 个并发线程时,我们发现应用程序管理的吞吐量存在限制。从该线程数开始,平均响应时间增加,每秒请求数稳定。

我们已经对我们的应用程序进行了多项更改测试,甚至删除了所有应用程序逻辑并返回静态响应。并且还针对什么都不做的基本 Servlet 运行相同的测试,我们得到了类似的结果:更好的平均响应时间和吞吐量值,但在测试中达到了大约 10 个并发线程的限制。

我们还使用 Apache Benchmark 运行了类似的测试,以排除测试工具的问题。

测试在 2 个服务器池中运行。当在本地计算机上运行时,它们给出了类似的结果,但在大约 5 个并发线程时达到了吞吐量限制。

这是吞吐量图表。请注意,每行的值并不重要(例如:某些行已删除数据库访问权限,或者甚至是大多数应用程序逻辑,因此它们花费的时间更少)。

Throughput chart

我们想了解的是吞吐量限制从何而来,以及我们可以做些什么来改进它。

谢谢,豪尔赫

PS:我会添加图片而不只是链接,但看起来我没有足够的声誉 :(

最佳答案

将 jvm 调整到最佳设置后,限制将下降到您正在运行的硬件上。线程需要 cpu 才能运行,添加更多线程只有在其他线程被 IO 之类的东西阻止执行时才有帮助,即使这样容器线程也会增加开销。当您达到该限制时,您将需要添加更多硬件。

关于少量用户的 Tomcat 吞吐量限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784560/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com