This is a static archive of our old Q&A Site. Please post any new questions and answers at

Slowdown in receiving data


I've written a simple Windows client that connects to a hardware device (FPGA) over TCP/IP. When I click a button in the client it sends a small "request" to the device, then reads a response that the device returns - this data is approx 32kb in size.

My code typically takes 2-3ms to read this response back, and this timing remains consistent if I repeatedly click the button slowly (e.g. once per second). However if I start clicking the button more rapidly (e.g. every half a second) then after a few seconds the timings will drop to around 12ms and remain at that level, even if I go back to clicking the button slowly. If I close then reopen the connection on the client, then try again, it goes back to 2-3ms times.

Here are a couple of Wireshark screenshots - the first being a "fast" one, the second from when it has slowed down. The only thing that jumps out at me is the increased number of ACKs in the second screenshot. Any toughts? I'm a software dev so this sort of thing is out of my depth TBH!

alt text

alt text

asked 29 Jan '16, 01:10

andyste1's gravatar image

accept rate: 0%

If you can, post examples on instead of screenshots. Analyzing TCP behavior with screenshots is much more time consuming and sometimes not possible at all (depending on the screenshot).

If you worry about privacy, use TraceWrangler ( to randomize all IP addresses and remove the TCP payload (verify it looks good before uploading, "good" meaning IPs are different and the packets have no TCP payload anymore).

Make sure that you include the TCP handshake, pls, because your screenshots start somewhere in the middle. It's often critical to know details that can be read from the first three packets (SYN - SYN/ACK - ACK), e.g. timings, TCP options, etc.

(29 Jan '16, 01:21) Jasper ♦♦