在Tomcat中server.xml
,maxThreads
与maxConnections
我了解这maxConnections
是服务器打开的连接数
并且maxThreads
是请求处理线程的最大数量
但是两个配置参数如何协同工作,显然您不会将其设置maxConnections
为1000和maxThreads
10
这两个配置参数之间是什么关系?
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="250"
SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
connectiontimeout="20000"
/>
Tomcat可以在两种模式下工作:
默认情况下,Tomcat
7
是BIO,尽管共识似乎是“不要使用Bio,因为Nio在各个方面都更好”。您可以使用文件中的protocol
参数进行设置server.xml
。
HTTP/1.1
或org.apache.coyote.http11.Http11Protocol
org.apache.coyote.http11.Http11NioProtocol
如果您使用的是BIO,那么我相信它们应该大致相同。
如果您使用的是NIO,则实际上“ maxConnections = 1000”和“ maxThreads =
10”甚至可能是合理的。默认值为maxConnections = 10,000和maxThreads =
200。使用NIO,每个线程可以提供任意数量的连接,来回切换但保留连接,因此您无需执行所有通常的握手操作,这对于HTTPS而言特别耗时,但对于HTTP而言却是一个问题。您可以调整“
keepAlive”参数以保持较长的连接时间,这样可以加快所有操作。
在Tomcat中,与是什么 我知道是打开到服务器的连接数 而是请求处理线程的最大数目
设置可同时存在的线程的最大数目。 #MaxThreads Value 参数 值 可以同时存在的最大 线程 数. 指定大于 255 的数字相当于指定 255 (在 1.0.48 之前的版本中, 此限制为 20). 备注 此设置是全局的, 这意味着只需要使用一次 (在脚本的任意位置) 就会影响整个脚本. 尽管可以把这个值设置为 1, 但不建议这么做, 因为这样每当脚本显示 MsgBox 或其他对话框时
null 我知道web HTTP请求配置在大多数情况下与数据库池配置无关,但是对于属性之间的比例(maxthreads/acceptcount、maxActive)是否有常见的情况/实践?例如。HTTP maxThreads比DB maxActive大是一种常见的做法吗(但是根据我们的示例,认为100%大是太多了--可以假设20%或50%的最大值?),假设我们有一个更大的值的accpetCount
我有个问题。apache camel文档指出,camel-restlet组件(从2.10版本开始)可以定义为请求服务的最大线程数(http://camel.apache.org/restlet.html)。 错误是什么?
我是新来的tomcat/axis2.我已经安装和测试tomcat单独和正常工作。但是当我把tomcat和axis2遇到这个错误。有人能帮帮我吗? java.lang.NoClassDefFoundError: org/apache/ws/共用/模式/解析器/URIResolver atorg.apache.axis2.deployment.ModuleDeployer.deploy(ModuleD
我正在尝试使用Application Insight来连接tomcat java Web应用程序。我正在阅读这本指南:https://docs.microsoft.com/azure/azure-monitor/app/java-standalone-arguments,但我不知道应该首先做什么。是否可以在不更改应用程序代码的情况下添加监控?我要完成集成的步骤是什么?
我有一个基本的REST web服务可以工作,但我确实有一个问题。下面是一个简短的代码片段。
Tomcat JDBC连接池提供了几个测试连接的选项。我觉得更有趣的两个是和。 首先,我认为是最好的选择,因为它基本上是在将连接提供给应用程序之前验证连接(最大频率由定义)。 但是过了一会儿,我意识到在使用连接之前测试它可能会影响应用程序的响应性。因此,我认为使用可以更有效,因为它在不使用连接时测试连接。 另一方面,我很惊讶不适用于,而且我并不真正理解的用途。