<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: A Problem with BizTalk Server 2006 Performance &#8211; 100% CPU Utilization</title>
	<atom:link href="http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/feed/" rel="self" type="application/rss+xml" />
	<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/</link>
	<description>Lessons learned in BizTalk Server, C# and Java</description>
	<lastBuildDate>Wed, 18 Nov 2009 23:49:05 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: BizTalk Singleton Orchestration Design &#171; Victor Fehlberg&#8217;s Tech Postings</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-66</link>
		<dc:creator>BizTalk Singleton Orchestration Design &#171; Victor Fehlberg&#8217;s Tech Postings</dc:creator>
		<pubDate>Fri, 06 Jun 2008 20:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-66</guid>
		<description>[...] on creating sequential FIFO orchestrations (this applies to singletons as well), as a follow up to the blog I wrote a few days ago on poorly written singletons. If you read the paper carefully, and pay attention to the &#8220;warning&#8221; sections, [...]</description>
		<content:encoded><![CDATA[<p>[...] on creating sequential FIFO orchestrations (this applies to singletons as well), as a follow up to the blog I wrote a few days ago on poorly written singletons. If you read the paper carefully, and pay attention to the &#8220;warning&#8221; sections, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bembeng Arifin</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-62</link>
		<dc:creator>Bembeng Arifin</dc:creator>
		<pubDate>Mon, 02 Jun 2008 09:26:27 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-62</guid>
		<description>Hi Victor,
Sure, no problem, I&#039;m just glad to share this with you since I was also unable to find much information about this at that time ;)</description>
		<content:encoded><![CDATA[<p>Hi Victor,<br />
Sure, no problem, I&#8217;m just glad to share this with you since I was also unable to find much information about this at that time <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fehlberg Victor</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-61</link>
		<dc:creator>Fehlberg Victor</dc:creator>
		<pubDate>Mon, 02 Jun 2008 06:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-61</guid>
		<description>To Mike&#039;s comments - yes, we use MOM.  I also used the Performance Monitoring tool quite a bit when trying to figure this problem out.  I looked at spool size, but it didn&#039;t seem outrageous - it was at 50K whereas we normally operate in production at 40K or less.  Because there are so many other applications running on the server, it&#039;s hard to detect an issue looking at the spool size unless it&#039;s very large.

I looked at many of the other performance monitors hoping for other insight, but didn&#039;t really find much - the host instance wasn&#039;t throttling and other counters seemed normal.

The environment generally operates pretty well - unfortunately most benchmarking and testing done doesn&#039;t always involve running the application for long times with the same load that production will encounter.  I&#039;ll admit that this could have been done better.  Thanks for the comment Mike.

To address Bembeng&#039;s point, I believe a white paper was written on how to finish an orchestration without risking losing messages that might be queued up - I agree that this is something I&#039;d definitely be sure of before putting a system in production.  I&#039;ll find that white paper and add a link.  Thanks for the comment.</description>
		<content:encoded><![CDATA[<p>To Mike&#8217;s comments &#8211; yes, we use MOM.  I also used the Performance Monitoring tool quite a bit when trying to figure this problem out.  I looked at spool size, but it didn&#8217;t seem outrageous &#8211; it was at 50K whereas we normally operate in production at 40K or less.  Because there are so many other applications running on the server, it&#8217;s hard to detect an issue looking at the spool size unless it&#8217;s very large.</p>
<p>I looked at many of the other performance monitors hoping for other insight, but didn&#8217;t really find much &#8211; the host instance wasn&#8217;t throttling and other counters seemed normal.</p>
<p>The environment generally operates pretty well &#8211; unfortunately most benchmarking and testing done doesn&#8217;t always involve running the application for long times with the same load that production will encounter.  I&#8217;ll admit that this could have been done better.  Thanks for the comment Mike.</p>
<p>To address Bembeng&#8217;s point, I believe a white paper was written on how to finish an orchestration without risking losing messages that might be queued up &#8211; I agree that this is something I&#8217;d definitely be sure of before putting a system in production.  I&#8217;ll find that white paper and add a link.  Thanks for the comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bembeng Arifin</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-60</link>
		<dc:creator>Bembeng Arifin</dc:creator>
		<pubDate>Mon, 02 Jun 2008 06:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-60</guid>
		<description>Hi Victor,

I actually had a quite similar singleton issue a month before.

My Orchestration acts as a message distribution controller from several receive locations to some orchestrations using direct binding to MsgBox.

However, same like yours, the messages were consumed but never released by the singleton orchestration which I guess by design the messages will only be cleaned up after the instance has been completed.

In load test, we found that by using singleton orchestration with this kind of scenario where we have high freq and large messages, the performance kept decreasing (hourly) and affecting the other orchestrations as well.

In the end, we didn&#039;t proceed with this singleton orchestration and found other solution for our requirements which is having more consistent processing performance.

I have thought a logic to exit (complete) the singleton orchestration, however there is a slight chance that if you have one or more queued messages for the singleton orchestration and we exit (complete) at the current instances. The queued messages may not be consumed until a new instance is created, I may be wrong at this, but the queued messages are not able to summon a new orchestration instances, only new messages can do that.</description>
		<content:encoded><![CDATA[<p>Hi Victor,</p>
<p>I actually had a quite similar singleton issue a month before.</p>
<p>My Orchestration acts as a message distribution controller from several receive locations to some orchestrations using direct binding to MsgBox.</p>
<p>However, same like yours, the messages were consumed but never released by the singleton orchestration which I guess by design the messages will only be cleaned up after the instance has been completed.</p>
<p>In load test, we found that by using singleton orchestration with this kind of scenario where we have high freq and large messages, the performance kept decreasing (hourly) and affecting the other orchestrations as well.</p>
<p>In the end, we didn&#8217;t proceed with this singleton orchestration and found other solution for our requirements which is having more consistent processing performance.</p>
<p>I have thought a logic to exit (complete) the singleton orchestration, however there is a slight chance that if you have one or more queued messages for the singleton orchestration and we exit (complete) at the current instances. The queued messages may not be consumed until a new instance is created, I may be wrong at this, but the queued messages are not able to summon a new orchestration instances, only new messages can do that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Stephenson</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-58</link>
		<dc:creator>Mike Stephenson</dc:creator>
		<pubDate>Sun, 01 Jun 2008 23:20:28 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-58</guid>
		<description>Hi

Nice article, can I add the following comments for anyone reading this as they may also help anyone new to these kind of issues.

1. This is one of the many examples of why monitoring software such as MOM with a good BizTalk management pack is so important.  If you had MOM in place here I would expect it to detect this problem situation (probably from the spool size?) and warn you that this was happening

2. When troubleshooting these kind of problems one of the first things to check are the Message Agent and Host/Messagebox performance counters.  This can give you a decent picture of what is happening in your BizTalk environment and help you work out what is happening over a period of time.  Very useful in these cases

3. There is lots of info around these days relating to performance and ways of optimising BizTalk, but probably the first place to check is your orchestration/code.  Also in my experience if you have done some benchmarking on the environment before you start you can mitigate a lot of the potential problems with your infrastructure setup.</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>Nice article, can I add the following comments for anyone reading this as they may also help anyone new to these kind of issues.</p>
<p>1. This is one of the many examples of why monitoring software such as MOM with a good BizTalk management pack is so important.  If you had MOM in place here I would expect it to detect this problem situation (probably from the spool size?) and warn you that this was happening</p>
<p>2. When troubleshooting these kind of problems one of the first things to check are the Message Agent and Host/Messagebox performance counters.  This can give you a decent picture of what is happening in your BizTalk environment and help you work out what is happening over a period of time.  Very useful in these cases</p>
<p>3. There is lots of info around these days relating to performance and ways of optimising BizTalk, but probably the first place to check is your orchestration/code.  Also in my experience if you have done some benchmarking on the environment before you start you can mitigate a lot of the potential problems with your infrastructure setup.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fehlberg Victor</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-53</link>
		<dc:creator>Fehlberg Victor</dc:creator>
		<pubDate>Sun, 01 Jun 2008 04:24:03 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-53</guid>
		<description>Yes, by terminating the orchestration we lost all of the messages that were being processed.  I did this however knowing that we could find out which messages these were by having the business users run a reconciliation report.  They have done so and those messages have been reprocessed.  If this were not possible, you&#039;re right, this might not have been a very good option.</description>
		<content:encoded><![CDATA[<p>Yes, by terminating the orchestration we lost all of the messages that were being processed.  I did this however knowing that we could find out which messages these were by having the business users run a reconciliation report.  They have done so and those messages have been reprocessed.  If this were not possible, you&#8217;re right, this might not have been a very good option.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felix</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-52</link>
		<dc:creator>Felix</dc:creator>
		<pubDate>Sun, 01 Jun 2008 03:58:16 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-52</guid>
		<description>Technically speaking, I didn&#039;t understand the solution... &quot;We terminated the orchestration that was running (the singleton)...&quot; - but what about the functionality of the orchestration? I realize it caused the problem, but I am assuming it had a &quot;baby&quot; along with the water. Did you throw it out as well?</description>
		<content:encoded><![CDATA[<p>Technically speaking, I didn&#8217;t understand the solution&#8230; &#8220;We terminated the orchestration that was running (the singleton)&#8230;&#8221; &#8211; but what about the functionality of the orchestration? I realize it caused the problem, but I am assuming it had a &#8220;baby&#8221; along with the water. Did you throw it out as well?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sandra Sequiera</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-47</link>
		<dc:creator>Sandra Sequiera</dc:creator>
		<pubDate>Sun, 01 Jun 2008 02:47:46 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-47</guid>
		<description>Thanks Victor for being so diligent, guess you pointed a few opportunities!</description>
		<content:encoded><![CDATA[<p>Thanks Victor for being so diligent, guess you pointed a few opportunities!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Seroter</title>
		<link>http://fehlberg.wordpress.com/2008/05/31/a-problem-with-biztalk-server-2006-performance-100-cpu-utilization/#comment-46</link>
		<dc:creator>Richard Seroter</dc:creator>
		<pubDate>Sun, 01 Jun 2008 00:50:37 +0000</pubDate>
		<guid isPermaLink="false">http://fehlberg.wordpress.com/?p=31#comment-46</guid>
		<description>Sheesh, good fix.  I guess I have a singleton design to update on Monday ...</description>
		<content:encoded><![CDATA[<p>Sheesh, good fix.  I guess I have a singleton design to update on Monday &#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
