我对 Tomcat 的acceptCount
.
它说:
当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。队列已满时收到的任何请求都将被拒绝。默认值为 10。
我不确定这是如何工作的。我的意思是我知道有一个单独的 TCP 队列来确定可以有多少连接,所以如果我放入acceptCount
应用程序级别,例如 30000,它有什么区别吗?
我的意思是这个配置似乎没有用。
我对吗?
我对 Tomcat 的acceptCount
.
它说:
当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。队列已满时收到的任何请求都将被拒绝。默认值为 10。
我不确定这是如何工作的。我的意思是我知道有一个单独的 TCP 队列来确定可以有多少连接,所以如果我放入acceptCount
应用程序级别,例如 30000,它有什么区别吗?
我的意思是这个配置似乎没有用。
我对吗?
这是对ServerSocket构造函数backlog
参数的直接传递。这个想法是操作系统可以保留传入的连接,即使它们不能立即处理。仅当您有突发流量和快速处理时间时,它才有用。
是的,它确实可以提供帮助。我见过一些具有相当大流量(每秒数十兆比特)的 java 应用程序。在某些时候,应用程序响应变得非常缓慢,经过一些研究,我决定增加 server.xml 中的 acceptcount 参数。它确实有帮助,问题就消失了。