I recently looked through a WCF Performance whitepaper published by Microsoft and was a little puzzled by some of the comparisons.
It seems a little skewed towards presentation of graphs showing WCF superiority in performance over current communication and service methods. Now I am confident that WCF is faster in almost every scenario, however a number of things stood out as being a little odd.
- Use of WSE v2 instead of WSE v3. The article states "The comparison in this case is with WSE 2.0 but it should be noted that the performance of WSE 2.0 and 3.0 are similar for this payload." That maybe so, but why wouldn't you use WSE v3?. Surely this is far more comparable than WSE v2 ?
- When comparing WS-Security performance, the basicHttpBinding with MessageCredentials was also included as part of the comparison, which I dont consider a valid comparison as the equivalent was not done with WSE. Obviously, the basicHttpBinding is much faster (and shows a nice comparitive graph as a result) but it seems this was done so that a much larger graph could be included in the report.
- Again, when comparing WSE and WCF performance, no mention was made of how the clients were used. It is reasonably well known that if you re-create the proxies for each request (or set of requests) with WSE, there is not much of a perf hit, however with WCF, if you re-create the proxies, there is a considerable performance hit and can cause the WCF performance to degrade overall (Note: Not the ability of the service to deal with the request but the whole client -> server -> back to client trip). I assume the tests did not re-create the proxies, however it is not clear and I think this should at least be noted and mentioned.
Like I said, I know that WCF is faster, but I'd like to see:
- A more detailed breakdown of the various scenarios
- More detail around the test specifics like client access methods, proxy creation etc...
- Valid comparitive technologies ie. not WSE v2 but using WSE v3.