我有一个使用Tomcat 7的Java / JSF应用程序。当流量变高时,Tomcat管理器显示+500个会话,即使Tomcat仍在运行,我的应用程序也不再可访问。我不得不重启我的应用程序。服务器没有内存不足,因为我为Tomcat设置了2.5 GB,并且它从未从1,2 GB传递。内存转储只是向我展示了很多java.util.concurrent.ConcurrentHashMap$Segment
,它没有暗示我的问题是什么。我正在使用带有NIO
的HTTP连接器。我的bonecp连接池的max_connections
为120,MySQL的max_connection
为140。
我只是给出了背景。
经过使用bonecp配置,数据库配置的多次测试后,我得出结论,使用此连接器使用NIO,我的应用程序中没有更多问题:
<Connector port="80"
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
maxThreads="120"
redirectPort="8443" />
所以我的问题是:为maxThreads
设置的最佳值是什么?我也应该设置acceptCount
吗?设置这些值时我应该考虑什么?我应该从我的数据库中考虑max_connections
吗?
由于