TongWeb 通道参数详解:maxQueueSize 与 acceptCount 的区别与协作
在 TongWeb 中,maxQueueSize 和 acceptCount 是两个与请求处理队列相关的核心参数。它们共同作用于并发请求的接收和处理流程,但所处的层面和作用机制有显著区别。理解两者的差异和协作关系,对优化 TongWeb 高并发性能至关重要。
参数定义与作用
1. acceptCount(操作系统层面的连接队列)
- 作用:控制操作系统内核维护的 TCP 连接队列(backlog 队列)的最大长度。当 TongWeb 的工作线程全部忙碌时,新到来的 TCP 连接会先进入该队列等待,直到有线程空闲后再被处理。
- 本质:这是操作系统层面的队列,用于暂存'已建立但未被 TongWeb 应用层处理'的 TCP 连接。
- 默认值:TongWeb8 企业版默认值为 500;TongWeb7 嵌入式版本默认值为 100。
- 队列满时的行为:若队列已满,新的 TCP 连接会被操作系统直接拒绝,客户端会收到'Connection Refused'错误(无法建立连接)。
2. maxQueueSize(TongWeb 应用层面的请求队列)
- 作用:控制 TongWeb 应用内部维护的请求处理队列的最大长度。当所有工作线程(由
maxThreads控制)都在处理请求时,已建立 TCP 连接的请求会进入该队列等待线程空闲。 - 本质:这是 TongWeb 应用层的队列,用于暂存'已建立连接但未被线程处理'的 HTTP 请求。
- 默认值:TongWeb8 企业版默认值为 100000;TongWeb7 嵌入式版本默认值未知(通常无限制),且只能通过代码配置。
- 队列满时的行为:若队列已满,TongWeb 会直接拒绝请求,并返回 HTTP 503 Service Unavailable 错误(连接已建立,但请求被拒绝处理)。
工作流程与协作关系
当客户端向 TongWeb 发送请求时,流程如下:
- 建立 TCP 连接:客户端先与 TongWeb 服务器建立 TCP 连接,若此时 TongWeb 工作线程空闲,连接会直接被处理;
- 进入 acceptCount 队列:若工作线程全部忙碌,新的 TCP 连接会进入操作系统的
acceptCount队列等待; - 进入 maxQueueSize 队列:当工作线程从
acceptCount队列中取出连接后,若线程仍忙碌,请求会被放入 TongWeb 应用层的maxQueueSize队列等待; - 处理请求:工作线程空闲时,从
maxQueueSize队列中取出请求并执行。
简单理解:
acceptCount是 TCP 握手后的第一道缓冲,maxQueueSize是拿到连接后还没开始跑业务逻辑的第二道缓冲。
核心区别对比
| 维度 | acceptCount | maxQueueSize |
|---|---|---|
| 作用层面 | 操作系统内核(TCP 连接层) | TongWeb 应用层(HTTP 请求处理层) |

