【问题标题】:Tomcat Monitoring - connectionCount JMX mbeanTomcat 监控 - connectionCount JMX mbean
【发布时间】:2018-07-26 16:47:01
【问题描述】:

问题 1:

This questions 描述了 currentTheadBusy 和 currentThreadCount mbean 是什么,但是有 connectionCount mbean。

此时,我的生产 Tomcat 应用程序上这 3 个 mbean 的值是:

currentTheadBusy: 1  
currentThreadCount: 36  
connectionCount: 249

为什么连接比线程多得多?我如何阅读这些价值观?

问题 2:

connectionCount 与 Manager/localhost/myapp/activeSessions mbean 有什么关系?这个 mbean 的当前值是 1125。这些值是否相关或者我错过了这个概念?

谢谢。

【问题讨论】:

    标签: java tomcat threadpool jmx mbeans


    【解决方案1】:

    connectionCount 是连接器已处理的连接数,在很大程度上无关紧要。客户端通常会建立连接,通过该连接发出多个请求,然后关闭连接。如果您有像 Apache httpd、nginx 等这样的反向代理,那么随着时间的推移,可能会有一个连接处理大量请求。

    为什么连接比线程多?

    因为具有少量线程的线程池可以随着时间的推移处理大量工作,尤其是在整体负载较低的情况下。如果您整天每秒收到 1 个请求,并且没有一个请求需要超过 1 秒的时间来完成,那么单个线程可以处理 100% 的负载。如果每个客户端为 1 个请求建立 1 个连接,然后关闭该连接,这将是 24 小时内由单个线程处理的 1 * 60 * 60 * 24 = 86400 连接。

    如果您的请求只需不到 1 秒即可完成,那么您每天可以使用单个线程处理 86400 个请求。您每天可以处理 2 * 86400 = 172800 连接/请求,而您的线程池中只需增加一个线程(从 1 到 2 个线程)。

    connectionCount与Manager/localhost/myapp/activeSessions有什么关系?

    不相关。

    [我] 错过了这个概念吗?

    manager MXBean 跟踪 HTTP 会话管理。您的应用程序中目前有 1125 个活动会话。

    查看Tomcat's presentations 页面上的精彩演示。具体来说,搜索“监控”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多