gpt4 book ai didi

resteasy - Wildfly Resteasy 随机请求耗时较长

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

我们使用的是 Wildfly 10.1.0 和 Resteasy 3.1.1。在数百 rps 的吞吐量下,即使平均延迟非常低,我们也会看到随机的长请求。

我们正在查看 New Relic 在我们的应用程序中生成的指标。我们注意到一小部分请求(约 1%)卡在“HttpServlet30Dispatcher.service()”中,这是一个 Resteasy 库函数。对于卡在那里的请求,看起来 HttpServlet30Dispatcher(或它下面的一些代码)消耗了该请求 100% 的时间。我们发现通常需要 50 毫秒的请求会增加到 20 秒以上。

有谁知道是什么原因造成的?感觉 Wildfly 可能会阻止等待空闲线程的请求,并且可能会发生线程饥饿。任何人都可以确认或就如何分析这一点提出任何建议吗?

谢谢!马特

最佳答案

答案是这些都是网速慢造成的。我能够通过使用 chrome 开发工具并将网络设置为下载速度非常慢来证明这一点。

发生的事情是:Wildfly 是缓冲响应的地方,因此网络速度较慢的客户端会导致此功能阻塞。

New Relic 是我们正在使用的工具,它无法过滤掉这些请求,因此它们会增加我们的总体 APDEX 分数,这很烦人。

这实际上并不表示您的代码或应用服务器配置有任何问题。请注意,发生这种情况时,慢速网络客户端会占用一个线程。我已经能够在 NodeJS 中重现完全相同的问题,我想它在其他应用程序服务器中也是一样的。我本以为 Wildfly 使用的是 NIO,它会使这个事务异步,但据我所知,这并没有发生。

IO 缓冲有很多解决方案 - 您可以使用 NGINX 或其他一些代理为您做缓冲,而您的应用服务器不必这样做。

关于resteasy - Wildfly Resteasy 随机请求耗时较长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50334205/

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