【问题标题】:maxConnections default value for tomcat running on windows 7在 Windows 7 上运行的 tomcat 的 maxConnections 默认值
【发布时间】:2013-02-19 09:07:39
【问题描述】:

我是 tomcat 的新手,想知道 windows 7 上 tomcat 的 maxConnection 的默认值。
已经检查了http://tomcat.apache.org/tomcat-7.0-doc/config/http.html,上面写着

maxConnections :服务器在任何给定时间将接受和处理的最大连接数。当达到这个数字时,服务器将不再接受任何连接,直到连接数低于这个值。操作系统可能仍会根据 acceptCount 设置接受连接。默认值因连接器类型而异。对于 BIO,默认值为 maxThreads 的值,除非使用 Executor,在这种情况下,默认值为来自 executor 的 maxThreads 的值。对于 NIO,默认值为 10000。对于 APR/native,默认值为 8192。 请注意,对于 Windows 上的 APR/native,配置的值将减少到小于或等于 maxConnections 的 1024 的最大倍数。这样做是出于性能原因。 如果设置为 -1,则禁用 maxConnections 功能并且不计算连接数。

我不确定<Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 是否属于 BIO 或 NIO 或 APR/native

任何帮助将不胜感激。
谢谢

【问题讨论】:

    标签: tomcat7


    【解决方案1】:

    这是我从 Tomcat 的文档中收集到的:

    如果您没有通过Connector 元素的protocol 属性明确指定它(如上面的示例),则tomcat 将搜索本机库(通过Unixes 上的LD_LIBRARY_PATH 或Windows 上的Path 环境变量) APR 连接器,如果未找到该连接器,它将使用 BIO(阻塞 IO)连接器(参见协议属性的描述Tomcat HTTP Connector)。

    对于 BIO 连接器,如果未指定 maxConnections 将采用 maxThreads 属性的值。 maxThreads 的默认值依次为 200,除非您使用指向 Executor 元素的 'executor' 属性,在这种情况下,它将是 executor 元素的 maxThreads 的值。

    【讨论】:

    • 对。在性能测试中,我们的 tomcat 只能处理 300(200(默认 maxThreads)+ 100(默认 acceptCount))。你的解释很有道理。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 2014-08-31
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    相关资源
    最近更新 更多