In praktisch jedem FreeBSD-Netzwerkoptimierungsdokument kann ich Folgendes finden:
# /boot/loader.conf
net.inet.tcp.tcbhashsize=4096
Dies wird normalerweise mit einer nicht hilfreichen Anweisung wie "TCP-Steuerblock-Hash-Tabellenoptimierung" oder "Setzen Sie dies auf einen vernünftigen Wert" gepaart. man 4 tcp
ist auch nicht viel Hilfe:
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).
Das einzige Dokument, das dieses mysteriöse Thema berührt, ist der Unterabschnitt "Protokollsteuerungsblock-Suche" unter "Transportschicht" zur Optimierung des FreeBSD-IP- und TCP-Stacks . In seiner Beschreibung geht es jedoch mehr um mögliche Engpässe bei der Verwendung. Es scheint daran gebunden zu sein, neue TCP-Segmente mit ihren Listening-Sockets abzugleichen, aber ich bin mir nicht sicher, wie.
Wofür genau wird der TCP-Steuerblock verwendet? Warum sollten Sie die Hash-Größe auf 4096 oder eine andere bestimmte Zahl festlegen?
inpcb
.