相关疑难解决方法(0)

为什么要在 FreeBSD 中更改 net.inet.tcp.tcbhashsize?

在几乎每个 FreeBSD 网络调优文档中,我都能找到:

# /boot/loader.conf
net.inet.tcp.tcbhashsize=4096
Run Code Online (Sandbox Code Playgroud)

这通常与一些无用的语句配对,例如“TCP 控制块哈希表调整”或“将此设置为合理的值”。man 4 tcp也没有多大帮助:

tcbhashsize         Size of the TCP control-block hash table (read-only).
                    This may be tuned using the kernel option TCBHASHSIZE
                    or by setting net.inet.tcp.tcbhashsize in the
                    loader(8).
Run Code Online (Sandbox Code Playgroud)

我能找到的唯一涉及这个神秘事物的文档是优化 FreeBSD IP 和 TCP 堆栈中传输层下的协议控制块查找小节,但它的描述更多地是关于使用它的潜在瓶颈。这似乎与将新的 TCP 段与它们的侦听套接字匹配有关,但我不确定如何。

TCP 控制块究竟是做什么用的?为什么要将其哈希大小设置为 4096 或任何其他特定数字?

freebsd performance-tuning sysctl

8
推荐指数
1
解决办法
2240
查看次数

标签 统计

freebsd ×1

performance-tuning ×1

sysctl ×1