Interview Questions

SOAP Toolkit FAQ - Why can't I do more than five Soap calls per second from a single Soap Client?

SOAP Interview Questions and Answers


(Continued from previous question...)

SOAP Toolkit FAQ - Why can't I do more than five Soap calls per second from a single Soap Client?

A registry setting was added to allow you to turn off the Nagling delay in the ISAPI server. Nagling prevents TCP from sending small packets by adding a delay after each buffer is received from the ISAPI on a particular connection in case another buffer is coming soon so the two can be combined. The delay is 200 ms, so most Soap operations have an extra 200 ms added to their execution time by the Nagling delay. This makes some simple-minded benchmarks that have a single Client calling the server in a loop report much worse results than they would with Nagling off. Obviously, even if the client and server took 0 time to execute, a single-client thread could not push more than five transactions per second to the server. In more realistic benchmarks with thousands of clients hitting the server in parallel, Nagling will often help performance by reducing the number of small packets sent. In general, if your benchmarks are giving much worse results than you think you should be getting, try turning off Nagling to see if it helps. To turn off the Nagling delay, change the "NoNagling" DWORD value in HKEY_LOCAL_MACHINE\Software\Microsoft\MSSOAP\SOAPISAP to one (1).

(Continued on next question...)

Other Interview Questions