I have two WCF services A and B. Service A calls service B over a TCP binding with security mode set to transport. Here's a part of network capture for one such calls. There's a delay of around 15 seconds between two consecutive TCP Packets. This occurs frequently and I am not sure of the cause here. There can be more than one connection between the two services over different port for different calls at a given point in time. What can be the possible causes here. I will appreciate any help. asked 26 Jun '13, 21:29 Tenali edited 27 Jun '13, 20:04 cmaynard ♦♦ |
One Answer:
Looks like the trace was taken at the server (assuming port 808 is the server). The excerpt starts with the server sending 1 byte after having received 117 bytes. The client "delayed_acks" this one byte and then the communication stalls. 14.796 secs later the client sends 5 + 40 bytes in two seperate data segments.
I would say you need to look/trace at the client side and investigate the delay. Can you upload the (filtered on “tcp.port==57400 and tcp.port==808”) trace to http://www.cloudshark.org ? answered 26 Jun ‘13, 22:19 mrEEde2 edited 26 Jun ‘13, 22:32 |
Hhm…, if this is SSL as the ‘security mode set to transport’ might suggest, then the client is sending a Client Hello and the server does not answer with a ‘Server Hello’. Is the server SSL/TLS enabled? Without a complete trace of the session this is all guessing
The traces were taken on client A and 808 is Server B. I am not able to upload to cloudshark it seems unavailable. SSL/TLS is enabled on server and in fact after the 15 seconds delay noted earlier the communication works fine. The client sends the request payload and the server returns in a few secs. But the 15 seconds delay happens for every new connection.
There might be some sidesteps that are delaying the flows here like DNS requests or CRL lookups that rely on a 15 seconds timeout before processing can continue.