Anzahl der möglichen TCP-Verbindungen unter Debian erhöhen

Nachdem im Fehlerlog unseres Apache Servers die Meldung PHP Fatal error:  Uncaught exception 'RedisException' with message 'Connection closed' in [no active file]:0  auftauchte, musste die Anzahl der möglichen TCP-Verbindungen zur Ansteuerung des Redis-Servers erhöht werden.

Dazu waren verschiedene Anpassungen auf dem Webserver nötig.

fin_timeout definiert die Zeit, die eine Verbindung minimal im TIME_WAIT-Status bleibt. Dieser Wert ist in der Regel per default auf 60 gesetzt. Den aktuellen Wert kann man mittels sysctl net.ipv4.tcp_fin_timeout (als root) im Terminal anzeigen lassen.

Diesen Wert habe ich mit sysctl net.ipv4.tcp_fin_timeout=5 auf 5 Sekunden gesetzt, was sich bislang bewährt hat.

Danach erlaube ich dem System noch das schnelle wechseln und wiederverwenden von Sockets durch das Ändern von net.ipv4.tcp_tw_recycle und net.ipv4.tcp_tw_reuse:

sysctl net.ipv4.tcp_tw_reuse=1
sysctl net.ipv4.tcp_tw_recycle=1

Nachdem sich die Anpassungen als erfolgreich erwiesen haben, wurden die Werte in der Konfigurationsdatei hinterlegt, damit sie persistent sind.

Dazu werden in  /etc/sysctl.conf einfach folgende Zeilen angefügt:

net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

Mit sysctl -p wird die Datei neu geladen und die aktualisierten Werte werden nochmal gelistet.

Ein Gedanke zu „Anzahl der möglichen TCP-Verbindungen unter Debian erhöhen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.