找出tomcat服务器的连接数

时间:2010-02-05 19:12:05

标签: java sql-server tomcat5.5

我在Tomcat Server 5.5.17上部署了Java / Java EE Web应用程序。我想知道连接到服务器的客户端数量。我们怎么能找到它?

3 个答案:

答案 0 :(得分:18)

最可靠的方法是在ip.addr.of.srv:port中搜索netstat。这是基于Windows的示例(抱歉,这里没有Linux大师;))

netstat -np tcp | find "12.34.56.78:80"

用Tomcat监听的IP替换12.34.56.78,用Tomcat监听的端口替换80

这实际上不是编程问题,因此我投票将此问题迁移到serverfault.com

答案 1 :(得分:4)

如果您需要确定每个连接的作用,请在linux上使用

netstat -an | grep :8080 | awk '{print $6}'

如果有三个连接,您将看到

LISTEN 时间的等待 TIME_WAIT

如果您只想计算处于TIME_WAIT状态的连接

netstat -an | grep :8080 | grep TIME_WAIT | wc -l

答案 2 :(得分:3)

有关在webapp中计算会话数的示例,请参阅Tomcat Manager下的部分。

计算连接数可能有点困难。 Tomcat为每个请求启动一个新线程,最多为“maxProcessors”。超过这个数字,请求排队最多为“acceptCount”。超出此数量的请求被拒绝/丢弃(或崩溃,我不确定)。可以使用JConsole - steps here监视属性。上面提到的特定属性是HTTP Connector的属性。

编辑1:在查看CoyoteConnector和AJP Connector的源代码之后,有一个名为curProcessors的私有属性,它跟踪当前使用的处理器数量。但是,将curProcessors变量添加到连接器的mbeans文件似乎不会在JConsole显示中显示当前值。
注意:我修改的mbeans XML文件位于tomcat \ server \ lib \ catalina.jar中,位于jar中的org \ apache \ catalina \ connector目录下。以下是我添加的条目示例:
<attribute name="curProcessors" description="the number of processors currently in use" type="int"/>