Umgang mit vielen ausgehenden TCP-Verbindungen

Umgang mit vielen ausgehenden TCP-Verbindungen

Ich habe einen Server auf EC2 mit „hoher“ Netzwerkleistung getestet, um die maximale Anzahl ausgehender Verbindungen zu prüfen, die ich darauf verwenden kann. Ohne irgendwelche Einstellungen zu ändern, indem ich ungefähr 1000 Threads öffne, von denen jeder eine TCP-Anforderung sendet, erhalte ich nach etwa 10 Minuten die Fehlermeldung „Verbindung abgelehnt“, was sicher das Problem auf meiner Seite ist, da ich weiß, dass der Zielserver keine Fehler sieht.

Ich habe die Anweisungen befolgtDieser ArtikelDarin geht es darum TIME_WAIT, und Ephemeral portsdeshalb habe ich Folgendes gemacht:

  1. Erhöhung der Anzahl temporärer Ports
  2. Aktivieren von tcp_tw_recycle und tcp_tw_reuse

Wenn ich diese beiden Schritte ausführe, erhalte ich immer noch die Fehler, allerdings erst nach einer längeren Zeitspanne, z. B. Stunden. Generell möchte ich wissen, wie viel Netzwerkverkehr ein Ubuntu-Server mit einer bestimmten Hardwarekonfiguration bewältigen kann. Wie kann ich den ausgehenden Datenverkehr überwachen, damit ich herausfinden kann, was genau schiefgelaufen ist?

Antwort1

Um ausgehenden Datenverkehr zu überwachen, sehen Sie sich die folgenden Tools an: tshark, tcpdump, ettercap.

Sehen Sie sich auch diese Einstellungen an:

root@server ~ # sysctl -A | grep -i wait
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

verwandte Informationen