Delay in sending TCP ACK

101 Views Asked by At

I have a TCP client application which connect to the TCP server and just process the data without sending any application layer data. In one of the issue I have received from my client, I found in the tcpdump (captured on the machine where my application was running) that sometime my TCP client application sent TCP ack after some delay (~20 milli-seconds) and that prevent TCP server to send more data. From the information received from the client, I found that the network load at the time of the delay was more han usual compared to the time when my application sent TCP Ack properly. Although I see that the unack data in the tcp dump was around 7k just before the delayed TCP ACK, but the client said there was some more data on the the TCP Server and due to unack data build up, the TCP server did not send more data. I have checked TCP window size, Send buffer size and receive buffer size and the are more than 8 MB. As per my undersytanding, the TCP ack is sent by OS and that can not be controlled by the application.

Could someone help me where can I focus my analysis to further debug the reason of the delays?

0

There are 0 best solutions below