Cra*_*hax 4 java tomcat spring-boot
根据此链接,属性 server.tomcat.max-connections 和 server.tomcat.max-threads 确定应用程序中的最大连接数和最大线程数。
我有两个问题:
如果在给定时刻连接数超过线程数会发生什么?没有得到线程的连接会发生什么?
如果服务器必须处理比 server.tomcat.max-connections 多的请求,会发生什么?它会忽略在线程连接数达到最大值后到达的请求吗?
如果在给定时刻连接数超过线程数会发生什么?没有得到线程的连接会发生什么?
他们将等待工作线程可用。
Tomcat 使用“接受队列”来保持接受它们和将它们传递给工作线程之间的连接。控制这个的 Tomcat 配置参数是:
acceptCount:当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。队列已满时收到的任何请求都将被拒绝。默认值为 100。
(来源https://tomcat.apache.org/tomcat-8.0-doc/config/http.html)
如果服务器必须提供比 多的请求,会发生什么
server.tomcat.max-connections?它会忽略在线程连接数达到最大值后到达的请求吗?
根据上面的内容,连接将被接受到队列限制,然后被拒绝。我认为这意味着客户端将获得 TCP/IP 级别的“连接被拒绝”。
(如果客户端超时并关闭来自客户端的 TCP/IP 连接,排队的请求会发生什么情况并不完全清楚。)
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |