gpt4 book ai didi

performance - 提高 jetty 性能

转载 作者:行者123 更新时间:2023-12-04 05:07:07 27 4
gpt4 key购买 nike

我有一个程序必须在硬件允许的情况下尽快发出数千个 http 请求。在现实世界中,这些连接中的每一个都将连接到一个离散的服务器,但我已经编写了一个测试程序来帮助我模拟负载(希望如此)。

我的程序使用 Apache HttpClient 发出 http 请求。我的代码基于 Threaded request execution来自 here 的示例.

我的测试程序使用 Jetty 来处理 http 请求并返回正确的响应。我的代码基于一个简单的例子,比如 HelloServlet 发现 here .

当我运行测试并监控 jetty 进程时,它只使用少量的 CPU 资源。此外,我使用 VM 运行了第二个 jetty 服务器实例,发现测试在将近一半的时间内完成。

我查找了有关如何调整 Jetty 的信息并找到了 this document .我遵循了这些步骤,但似乎并没有提高性能。是否有关于如何提高 Jetty 性能的更好文档?

编辑

我对我的 Jetty 服务器进行了检测,以向我显示执行期间的空闲线程数。我这样配置服务器的线程池:

server.setThreadPool(new ExecutorThreadPool(Executors.newFixedThreadPool(500)));

但我的测试程序告诉我,大约 490 个线程处于空闲状态。我的生产代码使用 2,000 个线程,但似乎 jetty 正在排队连接。

最佳答案

我能给你的最好指导是向你推荐几篇由 jetty 创始人 Greg Wilkins 撰写的关于基准测试的博客。我这么说是因为老实说,试图调整到你上面的场景并没有带来太多的实际兴趣。

http://webtide.intalio.com/2010/06/lies-damned-lies-and-benchmarks-2/



http://webtide.intalio.com/2012/05/truth-in-benchmarking/

我还要指出,现在改进 servlet 的主要方法是使它们异步,这看起来很简单,但会带来一大堆其他编程缺陷。在许多情况下,交替使用 SPDY 或 websockets 等现代协议(protocol)可以再次大幅提高性能。

关于performance - 提高 jetty 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15386880/

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