gpt4 book ai didi

java - Tomcat:当连接数超过线程数时会发生什么?

转载 作者:行者123 更新时间:2023-12-03 20:26:22 25 4
gpt4 key购买 nike

根据这个link ,属性 server.tomcat.max-connections 和 server.tomcat.max-threads 确定应用程序中的最大连接数和最大线程数。

我有两个问题:

  • 如果在给定时刻连接数超过线程数会发生什么?没有得到线程的连接会发生什么?
  • 如果服务器必须处理比 server.tomcat.max-connections 多的请求,会发生什么?它会忽略在线程连接数达到最大值后到达的请求吗?
  • 最佳答案

    What happens if at a given moment number of connections exceed number of threads? What will happen to the connections that did not get a thread?



    他们将等待工作线程可用。

    Tomcat 使用“接受队列”来保持接受它们和将它们传递给工作线程之间的连接。控制它的 Tomcat 配置参数是:

    acceptCount: The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 100.



    (来源 https://tomcat.apache.org/tomcat-8.0-doc/config/http.html)

    What happens if the server has to serve more requests than server.tomcat.max-connections? Will it just ignore the requests that arrived after number of threads connections has reached its maximum value?



    根据上面的内容,连接将被接受到队列限制,然后被拒绝。我认为这意味着客户端将获得 TCP/IP 级别的“连接被拒绝”。

    (如果客户端超时并关闭来自客户端的 TCP/IP 连接,排队的请求会发生什么情况并不完全清楚。)

    关于java - Tomcat:当连接数超过线程数时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60502584/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com