WCF Bindings, Security and Bandwidth Utilisation

Good things come to those who measure! I have been recently asked to investigate ways to reduce bandwidth utilisation of a WCF service and thought that it would not be a bad idea to share the results. The test was a relatively simple method call (search operation) performed on the client which would return ~500 objects from the server side. I tested the app using various WCF bindings and the table below contains the sizes of the payloads for the bindings I have tested. (the results have been obtained using Wireshark):

Binding

Payload size (bytes)

Relative size

WS HTTP with message security

2747082

100%

NET-TCP with message security

2068024

75%

NET-TCP with transport level security and encryption

393205

14%

NET-TCP with transport level security and no encryption

392948

14%

Your mileage will obviously vary, this example however illustrates that you can get substantial reduction of payload sizes by changing a couple of configuration files. This is what I call a result! :)

November 13 2009
blog comments powered by Disqus