Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Strange behavior using Delay Shape in a loop
- This topic has 1 reply, 1 voice, and was last updated 9 years, 3 months ago by
community-content.
-
AuthorPosts
-
-
February 6, 2010 at 5:21 AM #24212
Hi Gurus,
I am facing a problem using delay shape. I have used a delay shape in a loop and set a delay time of 5 second using System.Timespan()method. Once I deployed the application in the staging area it was working fine with smoke tests but has not tested for a load. I have noticed the following strange behavior once it’s running under a load.
Though the delay shape was set a delay time of 5 second, it takes more than that & increasing delay time unexpectedly. For an example if a loop running hundred times, for the first cycle delay time was 5 seconds, for the second it was 7 seconds , ….Likewise for the 100th it was 4 minutes .
This is the first time; I am facing this kind of issue with delay shape. Has any one faced this kind of issue? Is there any hot fix for this? I am using BizTalk Server 2006 r2 on 64 bit environment.
I have seen the same issue explains in http://fehlberg.wordpress.com/2008/01/31/suspending-a-biztalk-orchestration-with-delay-shapes/ link.
Your feedback highly appreciated
Thank you,
Nandika
-
February 10, 2010 at 9:09 PM #24219
I was finally able to resolve the issue .
I have identified the following in the system1. Time was not sync among the machines in the production
2. Unexpected behaviour in the delay shape
3. System is throttling because of high DB (Message Publishing Throttling State is 6 in the system)
The system performance was increased considerable amount after doing the time synchronization. But still delay shape behaviour was there. So I removed & ran the application. I stopped with database deadlocks.
So I went for an alternative approach. The business process (orchestration activity) was divided in to two processes. The main orchestration invokes the nested orchestration synchronously. The enclosing orchestration waits for the nested orchestration to finish before continuing. As this is inside the loop, the next cycle has to wait till the sub orchestration finished. So this is kind of waiting or reducing the number of open transactions to the external database. I used “Delivery Notification = Transmitted” at the send port.This approach was really success one. It increased the system throughput tremendously.I have noticed some required BizTalk Jobs are not running in the SQL from last year. No idea why it has been stopped .Once I ran it, system stopped throttling. But need to do further analysis. Because could not find old events records in the system event viewer.
After doing the above, the system is quite good. It is running smoothly without any issues so far.
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.