Tomcat Http请求线程数

时间:2018-10-02 15:19:55

标签: tomcat httprequest tomcat8 tomee

我正在运行具有tomcat 8.x.x的Tomee 7.1.0。根据tomcat文档,默认Http maxthreadcount 200和acceptCount100。我的理解是Tomcat将接收最大300请求。根据他们的文档,将处理200个请求,将100个队列中,超过300个将获得连接超时。

我编写了一个简单的Rest服务,并使用Thread.sleep将请求保留在rest方法内5分钟。

启动tomcat并使用JConsole,我正在监视线程计数(Catalina->线程池-> http-nio-8080- Attributes),CurrentThreadsBusy为0,连接计数为1。如果发送450请求,则CurrentThreadsBusy为200,根据他们的文档是正确的,但是ConnectionCount是450,我的REst客户端应该获得CONNECTION TIMEOUT,但是我不明白为什么?

  

在此期间,每个传入请求都需要一个线程   请求。如果收到的并发请求多于请求数   由当前可用的请求处理线程处理,   将创建最多配置的最大线程数(   maxThreads属性的值)。如果同时进行   收到请求,它们堆积在服务器插座内   由连接器创建,直到配置的最大值(   acceptCount属性)。任何其他同时请求将   收到“连接被拒绝”错误,直到有可用资源   处理它们。

为什么我的客户端在请求300后没有收到CONNECTION TIMEOUT异常?

其余(150)个请求如何在队列中挂起?

0 个答案:

没有答案