Performance of the WCF-Basic HTTP Adapter

Posted: June 23, 2009  |  Categories: BizTalk Uncategorized
Tags: WCF

Zeeshan recently wrote about performance problems using the SOAP adapter( http://zeetalks.wordpress.com/2009/04/29/biztalk-performance-problems-using-the-soap-adapter/ ). In that article one of the solutions he suggested to the problem was to use one of the WCF adapters. Here I describe performance measure measurements using the WCF-Basic HTTP adapter.

I used Thiago’s Load Gen 2007 test to measure request-response message latency that he has described previously ( http://connectedthoughts.wordpress.com/2007/11/05/loadgen-2007-and-a-simple-biztalk-wcf-test/). It is easy to measure the request-response latency if you use a dedicated isolated host for your receive adapter.

New Picture

The first orchestration test contained a WCF-Basic HTTP receive adapter exposed by BizTalk as shown below. The average message latency was about 0.8-1.0 seconds.

1stest

The second orchestration test contained the same WCF-Basic HTTP receive adapter exposed by BizTalk  but also sent the message on after some mapping to an external WCF web service as shown below. The average message latency was now about 10-11 seconds.

2ndTest

In order to identify where the bottleneck was the external web service was replace by a simple web service returning just a stubbed out response. In this case the average message latency dropped to about 1.6-1.8 seconds. This is about what I would have expected from the addition of some extra persistence points in the orchestration.

Finally the after the external web service had been tuned a message latency of about 2-2.2 seconds was achieved.

This example suggests that lower message latency can be achieved between BizTalk and web services if the WCF adapters are used instead of the traditional SOAP adapters. We expect that we can achieve even lower message latency if we tune BizTalk for low latency as suggested by Thiago in comments to Zeeshan’s article.

Receive port Send Port Loadgen testmessages/sec Average Request- Response Latency (seconds)
WCF-Basic HTTP Request-Response File Adapter 10 0.8-1.0
WCF-Basic HTTP Request-Response File Adapter with outbound maps 10 0.8-1.0
WCF-Basic HTTP Request-Response WCF-Basic HTTP Request-Response with outbound and inbound maps to external web service 10 10-11
WCF-Basic HTTP Request-Response WCF-Basic HTTP Request-Response with outbound and inbound maps to external web service returning a stubbed out response 10 1.6-1.8
MOSS WCF-Basic HTTP Request-Response WCF-Basic HTTP Request-Response with outbound and inbound maps to tuned external web service 10 2.0-2.2
turbo360

Back to Top