Viel TIME_WAIT in Netstat auf Apache-Server

Viel TIME_WAIT in Netstat auf Apache-Server

Was könnte der Grund für viele TIME_WAIThier sein? Auch wir haben nur sehr wenige ETABLIERTE SYN-Verbindungen.

[root@www ~]# netstat -natp | grep "210.XX.XX.XX:80" | awk '{print $6}' | sort | uniq -c
      1 ESTABLISHED
     12 FIN_WAIT2
   9903 TIME_WAIT 

Antwort1

Um dies zu erklären, müssen Sie sich gut mit TCP/IP-Kommunikation auskennen. In der einfachsten Form geht Ihr Server davon aus, dass die Verbindung eine Weile bestehen bleibt, wenn sich jemand mit Ihrem Webserver verbindet, und weist dieser Kommunikation einen Port zu und legt ein Timeout für diesen Kommunikationskanal fest. Der Kanal oder der Port netstatwechselt, wie Sie an der Ausgabe sehen, in den Status TIME_WAIT, wenn die Person am anderen Ende, also der Client, die Kommunikation beendet. Vielleicht musste er oder sie nur eine Seite ansehen und das war erledigt. Aber Ihr Server kann das nicht wissen. Er geht davon aus, dass die Kommunikation sehr lange dauern wird.

Der Grund hierfür liegt hauptsächlich darin, dass es (ressourcenmäßig) kostspieliger ist, einen neuen Kommunikationskanal einzurichten, als einen bestehenden beizubehalten, insbesondere wenn der Client mehrere Anfragen an Ihren Server stellt. Wenn Sie tiefer in die Materie einsteigen und mehr darüber erfahren möchten, finden Sie hier eine ziemlich gute Beschreibung dazu:http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for-protocols-and-scalable-servers.html

Wenn Sie nur wissen möchten, wie Sie sie beseitigen oder ihr häufiges Auftreten verhindern können und warum sie auftreten, können Sie einen Blick auf die folgende Seite werfen:http://www.fromdual.com/huge-amount-of-time-wait-connections

verwandte Informationen