Was ist die maximale Anzahl von Socket-Verbindungen unter Linux?

Was ist die maximale Anzahl von Socket-Verbindungen unter Linux?

Wie erfahre ich die maximal zulässige Anzahl an Verbindungen zu meinem Ubuntu-Server?

Antwort1

Der Maximalwert ist dynamisch und hängt davon ab, welche Systemeinschränkung Sie zuerst erreichen. Beispielsweise die maximale Anzahl offener Dateien pro Prozess multipliziert mit der Anzahl der Prozesse, die in RAM+Swap passen. Dies ist nur eine mögliche Grenze.

Antwort2

Aus Netzwerksicht gibt es 2^16 oder 65535 Socket-Ports, mit denen sich 2^16 oder 65535 einzelne Clients verbinden können. Das bedeutet, wenn es sonst keine Einschränkung gäbe (haha), dass Sie aus reiner TCP-Sicht bis zu 2^32 oder 4294836225 einzelne Verbindungen haben könnten.

Viel Glück damit. :)

Ihre Frage gibt vielleicht mehr Aufschluss darüber, wie Sie mit vielen TCP-Verbindungen auf einem Host umgehen.

Dies wird klassisch als C10k-Problem bezeichnet. (Früher waren über 10.000 Verbindungen ein guter Gradmesser dafür, wann etwas auseinanderfällt.)

In diesem Dokument wird erklärt, wie Sie eine Box auf viele Tausend Verbindungen skalieren können.

http://www.kegel.com/c10k.html

Es ist etwas veraltet, aber meiner Erfahrung nach verwenden die meisten Linux-Apps Epoll, um das Problem zu mildern.

Prost.

verwandte Informationen