
Die Sysctl-Option net.core.somaxconn
ist standardmäßig auf 128 eingestellt (auf unseren Systemen), kann aber erhöht werden.
Was genau misst und begrenzt diese Grenze?
Wie finde ich heraus, wie nah ich am Limit bin?
Kontext: Ich hatte kürzlich ein Problem, das durch die Erhöhung dieses Limits scheinbar behoben wurde. Das Problem trat zeitweise 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 das vorherige Höchstlimit von 128.
Antwort1
somaxconn
bestimmt die maximale Anzahl von überlasteten Verbindungen, die für jeden TCP-Port im System zulässig sind. Eine Erhöhung dieser Anzahl (empfohlen für Server) kann „Verbindung abgelehnt“-Meldungen verhindern, kann aber zu langsamen Verbindungen führen, wenn der Server die erhöhte Last nicht bewältigen kann.
Den aktuellen Rückstand können Sie prüfen netstat -ant | grep -c SYN_REC
mitdiese Seite. Es wird gezählt, wie viele Verbindungen sich im Status „SYN empfangen“ befinden, was bedeutet, dass das System ein SYN-Paket (Verbindungsanforderung) empfangen, aber noch nicht bestätigt hat.
Wenn Ihr System ss
installiert ist, können Sie auch ss -s
eine Zusammenfassung der Verbindungen anzeigen. Suchen Sie synrecv
in der Ausgabe nach oder ss -s | grep -Po '(?<=synrecv )\d+(?=,)'
drucken Sie einfach die Nummer aus.