Woran erkenne ich, wie nahe ich an Somaxconn komme?

17

Die Option sysctl ist net.core.somaxconnstandardmäßig 128 (auf unseren Systemen), kann jedoch erhöht werden.

  1. Was genau ist diese Grenzwertmessung und -begrenzung?

  2. Wie finde ich heraus, wie nah ich am Limit bin?

Kontext: Ich hatte kürzlich ein Problem, das durch Anheben dieses Grenzwerts behoben zu werden schien. Das Problem trat nur sporadisch auf, daher vertraue ich nicht darauf, dass es wirklich behoben ist. Ich würde gerne herausfinden, ob die aktuelle Anzahl von [was auch immer diese Einstellung begrenzt] größer ist als die vorherige Höchstgrenze von 128.

Andrew
quelle
1
Zu Ihrer Information: Seit Linux 5.4 wurde es auf 4096 erhöht .
Hi-Angel

Antworten:

18

somaxconnLegt die maximale Anzahl an Verbindungen fest, die für jeden TCP-Port im System zulässig sind. Das Erhöhen (empfohlen für Server) kann verhindern, dass Nachrichten "Verbindung abgelehnt" werden. Es kann jedoch zu langsamen Verbindungen führen, wenn der Server die erhöhte Last nicht bewältigen kann.

Sie können den aktuellen Rückstand netstat -ant | grep -c SYN_RECanhand dieser Seite überprüfen . Es wird gezählt, wie viele Verbindungen sich im Status "SYN Received" befinden, dh das System hat ein SYN-Paket empfangen (Verbindungsanforderung), es wurde jedoch noch nicht bestätigt.

Wenn Ihr System ssinstalliert ist, können Sie auch ss -seine Zusammenfassung der Verbindungen anzeigen. Suchen Sie synrecvin der Ausgabe nach, oder ss -s | grep -Po '(?<=synrecv )\d+(?=,)'drucken Sie einfach die Nummer.

miken32
quelle