tomcat 7.0支持的最大活动websocket连接数是多少
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat 7.0支持的最大活动websocket连接数是多少相关的知识,希望对你有一定的参考价值。
我目前正在开发游戏服务器,为避免从头开始开发服务器,我们使用了tomcat 7.0,以便我可以专注于游戏逻辑。
根据要求,我使用websocket与客户端通信,但是当许多客户端已连接到服务器时,无法建立新的连接,我怀疑已建立的连接数已达到最大数量。顺便说一下,tomcat使用了APR连接器。
所以,我的问题是:
- tomcat 7.0支持的最大活动websocket连接数是多少。
- 如何配置。
- 是否有解决websocket负载平衡的解决方案,因为apache和mod_jk现在不能用于负载平衡。
任何帮助将不胜感激,在此先感谢!
要在Tomcat中达到最大活动websocket连接,需要完成以下配置更改。
CATALINA_HOME/conf/server.xml
<Connector connectionTimeout="-1" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443" maxConnections="100000" acceptCount="300"/>
检查可在部署Tomcat的机器上使用的端口数:
$ cat /proc/sys/net/ipv4/ip_local_port_range
将其从50更改为65535。
$ sysctl -w net.ipv4.ip_local_port_range="500 65535"
如果服务器和客户端在不同的计算机上运行,则上述配置更改允许在2GB的Intel Core i5计算机中约有5万条实时连接。
- 上限是服务器可以支持的TCP连接数。
- 默认强制限制将取决于您使用的连接器-您未能提供的信息。对于NIO和APOR / native,您需要增加maxConnections。对于bIO,您将要增加maxThreads。
- 取决于您使用的负载平衡器-再次提供您未能提供的信息。
websocket连接的总数由运行websocket服务器(在本例中为tomcat实例)的操作系统所允许的打开文件描述符的数量确定。在Unix机器上,硬限制为75000个文件描述符,但我不是确定tomcat产生新套接字的能力是否受到硬性限制
对于您的前两个问题,我认为答案可以在tomcat的conf文件夹(〜/ conf / server.xml)的server.xml文件中找到,请参阅Executor标记以及连接器的可用属性和参数,如下所示链接可能会帮助您(我从server.xml文件注释中获取了它们):
正如文档所述,您可以使用connector的属性或使用Executor并将其与connector链接,请参阅connector标记中对executor属性的描述:
A reference to the name in an Executor element. If this attribute is set,
and the named executor exists, the connector will use the executor,
and all the other thread attributes will be ignored. Note that
if a shared executor is not specified for a connector then
the connector will use a private, internal executor
to provide the thread pool.
此外,您可以覆盖Java AJP连接器的连接数:请参见以下文档:
关于您的最后一个问题,我认为如果暂时不能使用复制和负载平衡工具,那么答案是尽快在服务器内部完成工作,以释放资源并将其提供给其他客户端。
以上是关于tomcat 7.0支持的最大活动websocket连接数是多少的主要内容,如果未能解决你的问题,请参考以下文章