Der Client sendet eine verzögerte FIN-Bestätigung (~ 500 ms) an den Server

Ich habe einen node.js-Client (10.177.62.7), der einige Daten vom http-Restdienst vom Server (10.177.0.1) anfordert. Der Client verwendet einfach die Methode node.js http.request () (agent = false). Der Client ist auf Ubuntu 11.10 installiert.

Warum sendet der Client FIN ACK nach 475ms? Warum so langsam? Er sollte sofort FIN ACK senden. Ich habe viele Situationen wie diese. Etwa 1% des gesamten Datenverkehrs wird mit verzögerter FIN ACK angefordert.

Der CPU-Leerlauf auf dem Client liegt bei 99%, sodass die CPU nicht entlastet wird.

Wie kann ich das debuggen? Was könnte es sein? Gibt es eine Sysctl-Option, die ich einstellen muss?

In der 2. Spalte des Screenshots ist die zwischen den Paketen verstrichene Zeit angegeben.

Link zum größeren Bild.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage