我已经部署了一个在全国各地(加拿大)使用的非常大的应用程序,这意味着许多并发连接。
最近我们已经达到最大并发线程数量,因为我们的jBoss配置为40个最大线程。现在是250,所以我们没事。
我时不时地看着Tomcat状态页面,我看到线程到javascript文件,css文件,struts(java)动作等。
javascript或css文件中的一个帖子怎么可能活了几秒钟?我认为该线程仅在页面加载期间(当客户端将javascript文件下载到缓存时)。我是对的吗?
示例条目
Stage: S
Time: 1127110823 ms
B Sent: 0 KB
B Recv: 0 KB
Client: client's ip address...
VHost: server's vhost...
Request: GET /que/2715/jsp/common/js/jquery/jquery.maskedinput.js HTTP/1.1
这个总是在这里......我不明白为什么......
我想了解所有这些信息,然后改变我编码的方式,以释放一些当前的线程。
感谢您的帮助
查尔斯
答案 0 :(得分:1)
行为不端的HTTP客户端可能无法识别你的TCP数据包,即使对于非常小的文件也是如此,并且Tomcat正在等待ack,因为它不想关闭连接,直到它确定客户端获得了所有信息。检查server.xml中HTTP连接器的超时值(尤其是connectionTimeout),并确保它们未设置为非常大的值或-1(无限等待)。
有关配置中超时设置的详细信息,请参阅http://tomcat.apache.org/tomcat-7.0-doc/config/http.html。
-Larry