gpt4 book ai didi

java - Glassfish 线程池、接受器线程、HTTP 最大连接数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:28 24 4
gpt4 key购买 nike

请看附图,请帮助我理解线程池(最大和最小线程池大小)、接受器线程及其最大连接数和 HTTP 最大连接数之间的关系。

线程池:

enter image description here

HTTP:

enter image description here

传输 TCP:

enter image description here

最佳答案

先给大家一些官方文档

线程池

线程池是服务器可以同时处理的最大请求数。服务器有一个等待线程处理的连接队列。

请记住,线程的请求生命周期会很长。也就是说,不仅在从套接字读取 HTTP 请求时,或在向客户端写入 HTTP 响应时,而且它一直在处理业务逻辑、等待 DB 完成、写入日志文件、发送/接收 WS 方法,...

阅读:https://docs.oracle.com/cd/E18930_01/html/821-2431/abehk.html

HTTP 最大连接数

HTTP 服务器正在监听客户端请求,并且每个客户端都有一个关联的连接队列,请求在队列中排队等待来自线程池 的线程处理。

这里是等待服务排队请求的线程所在的地方。

阅读:https://docs.oracle.com/cd/E18930_01/html/821-2431/abegk.html

传输接受器线程

是一个数字,表示有多少线程可以在任何时候为每个监听套接字将您的服务器保持在接受模式。 Oracles 文档建议将此数字设置为低于 CPU 数量。

也就是说,这是同时读取/写入的套接字数。您可以想到与线程池的直接关系,但请记住,线程不仅用于从客户端读取/写入客户端,还用于处理请求。

阅读:http://docs.oracle.com/cd/E18930_01/html/821-2431/gkxjt.html

我的解释

因此,您的服务器将为每个客户端(监听套接字)创建一个队列,其中不能超过最大连接数。此连接将由一个线程池处理,同时它不能超过接受线程处理/接受的套接字。

如果客户端请求等待的时间超过超时,它将被拒绝。 Min Thread Pool 确保您有最少的线程准备处理。 最大连接数 限制了您可以等待的监听套接字 总数。如果超过最后一个限制,新连接将被拒绝。

希望对您有所帮助。

关于java - Glassfish 线程池、接受器线程、HTTP 最大连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096017/

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