performancedelaybiztalkbiztalk-2020

Is BizTalk Delay Shape holding any resources or bad for performance?


I have an integration where I am iterating through multiple batches and sending them to a WCF service. The developer of the WCF service has contacted me and said that they are having troubles processing the batches in the pace that we are sending them to them. They are wondering whether it is possible for us to wait 10 minutes between each batch.

With that said, I am wondering if the BizTalk Delay shape could be right for this? I am guessing that the delay shape puts the orchestration in dehydration so that it doesn't hold any resources from other processes. Is this correct? And is there any reason that I should not consider using the delay shape? Maybe performance issues or something like that? I know that the delay shape is created for this kind of scenarios, but I only find examples with 1-2 minutes. Is 10 minutes OK? Is there any limit for what is OK before it has a negative effect?

A lot of question but I am hoping that they make sense.


Solution

  • Yes, BizTalk is very good at processing lots of messages fast, and you do tend to run into scenarios where you have to throttle BizTalk.

    I believe the delay shape creates a timer that then resumes the Orchestration after the time has elapsed.

    The Delay shape itself will not cause any negative effects. I've seen Orchestrations that delayed for more than that without problems. The only side effect is if you cause there to be a lot of dehydrated instances, but I'm talking over 10K of dehydrated Orchestrations. It sounds like you have some sort of singleton pattern going, so that will probably not be a problem.