Published on : Apr 18, 2005
Category : BizTalk Server
At the moment I’m working on one of the world’s biggest civilian project and one of the world’s biggest biztalk implementation. In order to achive strict SLA targets each and every milliseconds Biztalk takes inside the processing time frame is really critical for us.
I’m in the process of tuning performance in our custom pipeline component. We are taking different approaches to test the performance. I was experimenting with
pipeline.exe -t option to calculate the time it takes after each stage.
I took a default receive pipeline (equivalent to pass through), and run the test with pipleline.exe, following is the result i obtained
Decode Stage: before Execute
Decode Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before Execute
Disassemble Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before GetNextOutputMessage
Disassemble Stage: after GetNextOutputMessage, elapsed time is 00:00:00
Validate Stage: before Execute
Validate Stage: after Execute, elapsed time is 00:00:00
ResolveParty Stage: before Execute
ResolveParty Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before GetNextOutputMessage
Disassemble Stage: after GetNextOutputMessage, elapsed time is 00:00:00
Pipeline execution overall elapsed time: 00:00:00.0311258
so, an empty Biztalk receive pipeline takes
31 millisecond to process without any custom coding on top of it. Of course there are lot of factors going to effect this figure (CPU speed, no of CPU’s, memory etc, etc).
My next test will be to find the time from entry point to exit point with simple subscription. Let see how i’m going to achive this.