Measuring Reliable Session Speed with Duplex
The results last time were in disagreement with the rule of thumb that turning on reliable messaging cuts your throughput roughly by half. One possible explanation for the disagreement is that the measurements were looking at the wrong thing.
The measurement being used was efficiency: the ratio of the throughput with reliable messaging enabled to the throughput with reliable messaging disabled. For all but the smallest sizes of reliable sessions, reliable messaging over HTTP had an efficiency of at least 0.5. The largest size of reliable session had efficiency near 0.9. For the rule of thumb to be true, you'd expect to see most sizes of reliable sessions have efficiency near 0.5.
HTTP has a datagram request-reply message exchange pattern. Do the same results occur if we have a connection-oriented transport instead of a datagram transport? I reran the tests using TCP with a binary encoding rather than HTTP with a text encoding.
You can see with this arrangement that efficiency is between 0.4 and 0.6 for all but the smallest sizes of reliable sessions. Even using a very large reliable session does not significantly change the efficiency. These results fit very well with the rule of thumb. This only reinforces the point that measurements are only significant when taken against the application being optimized. Any change to how the service works can greatly affect the results.
Next time: Endpoints with Multiple Schemes
Comments
Anonymous
August 24, 2007
PingBack from http://blogs.msdn.com/drnick/archive/2007/08/22/measuring-reliable-session-speed.aspxAnonymous
August 28, 2007
Enterprise Architecture Actionable Enterprise Architecture through Feedback Business Case for IntegrationAnonymous
December 02, 2008
Enterprise Architecture Actionable Enterprise Architecture through Feedback Business Case for Integration, part two The One Business Case for Integration Agile Enterprise Architecture Master Data Management: Minimizing the Complexity Carnival of Enterprise