负载测试结束后,Tomcat 线程数莫名其妙地立即达到峰值

负载测试结束后,Tomcat 线程数莫名其妙地立即达到峰值

我正在 Tomcat 上测试一个应用程序,其中有来自 200 个用户的一小时疯狂流量。

测试期间一切正常。
但测试结束后(没有更多流量),线程数莫名其妙地上升。
在短暂但危险的峰值之后,它开始下降。

我计算了一个直方图来显示问题:

在此处输入图片描述

黄线(Tomcat 线程池中的 socketRead 线程数)一开始看起来很稳定,但在流量结束时会跳跃(黑色垂直线)。

问题:您是否已经看到过这种行为?知道是什么原因造成的吗?

有时在生产中这种现象会使 Tomcat 达到maxThreads,从而引发各种其他问题。

5 个节点的集群,Tomcat 6.0.26 / JK / Alfresco

如果需要,有关其他类型线程的详细信息:

  • 红色:线程池外部的套接字读取线程
  • 蓝色:线程池中等待的线程
  • 绿色的:java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill
  • 紫色:应用程序端去中心化自治组织线程(该应用程序是露天,用作 WebDAV 服务器)

附言:如果您有兴趣生成此类图表,我可以将我的工具开源,请告诉我。

答案1

这可能与线程池有关。

http://webspherehelp.blogspot.co.uk/2010/01/tomcat-thread-pool-dont-shrink-as-you.html

可能有帮助。

年龄变化率

相关内容