Monday, August 31, 2009

WCF TCP, HTTP, and Named Pipes Performance Comparison


I wanted to see for myself performance of wsHttp, netTcp, and netNamedPipes end point configurations. I put together a quick test application. The test consisted of a warm-up (10 calls to each end point), followed by 5000 calls (with channel being opened and closed on each call). The first test used default binding configuration for each end point while the second test consisted of unsecured calls (security mode set to "None" and encryption and signing disabled). The results are not phenomenal -- although I was a bit surprised that wsHttp binding performed almost as well as netTcp and netNamedPipes when the security stack was removed from the communication channel. Also, in unsecured mode, named pipes communication was noticeably faster than tcp.