Tomcat 6 AJP 是否应该使用 mod_jk 将其线程保持在 keepalive 状态?
我最近将 Tomcat 服务器切换为使用 Apache 前端的 AJP。在管理器中我看到:
Stage Time B Sent B Recv Client VHost Request
K 15395557 ms ? ? 67.195.114.27 ? ?
K 15859951 ms ? ? 119.63.196.73 ? ?
etc.
这是 Tomcat 保持连接打开时间太长的迹象吗?
我知道我有某种形式的泄漏,因为我的应用程序会定期耗尽数据库连接并停止。我正在寻找证据证明上述行为是该问题的一部分。我会注意到,前端是使用 Jquery 中的 REST 进行 Javascript 通信。
预先非常感谢。
交叉发布于 ServerFault 因为我在那里什么也没看到。 :-(
I've recently switched my Tomcat server to use AJP fronted by Apache. In the manager I'm seeing:
Stage Time B Sent B Recv Client VHost Request
K 15395557 ms ? ? 67.195.114.27 ? ?
K 15859951 ms ? ? 119.63.196.73 ? ?
etc.
Is this a sign of the Tomcat holding the connection open far, far too long?
I'm aware I have some form of leak because periodically my app runs out of database connections and stops. I'm looking for evidence that the behaviour above is part of that problem. I'll note that the front end to this is a Javascript up communication using REST in Jquery.
Thanks a lot in advance.
Crossposted from ServerFault because I'm not seeing anything there. :-(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AJP 协议旨在处理长时间运行的持久连接。这是正常现象,也是意料之中的。 Apache 和 Tomcat 都会维护连接/线程池,并且仅在必要时创建新的连接/线程池。
这本身并不是怀疑 AJP 造成内存泄漏的令人信服的理由,尽管如果您在迁移到 AJP 之后开始出现泄漏,那么显然某些地方配置错误。
The AJP protocol is designed to work with long-running persistent connections. This is normal and expected. Both Apache and Tomcat will maintain connection/thread pools, and only create new ones when necessary.
This in itself isn't a compelling reason to suspect AJP for your memory leak, although if you started getting the leak after you moved to AJP, then clearly something is misconfigured somewhere.