<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>deltalounge &#187; ESB</title>
	<atom:link href="http://www.deltalounge.net/wpress/tag/esb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.deltalounge.net/wpress</link>
	<description>Service Orientation, Software Development, Oracle, Life Hacking</description>
	<lastBuildDate>Thu, 29 Jul 2010 20:15:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Tuning AQ for Oracle ESB</title>
		<link>http://www.deltalounge.net/wpress/2009/12/tuning-aq-for-oracle-esb/</link>
		<comments>http://www.deltalounge.net/wpress/2009/12/tuning-aq-for-oracle-esb/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 10:30:59 +0000</pubDate>
		<dc:creator>PeterPaul</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[Service Bus]]></category>
		<category><![CDATA[Advanced Queueing]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Fusion Middleware]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Messaging]]></category>

		<guid isPermaLink="false">http://www.deltalounge.net/wpress/?p=573</guid>
		<description><![CDATA[If you are using AQ within Oracle ESB there might be a point in time you want to tune AQ performance. In this post you&#8217;ll find the results of Metalink research, and our experience on a production system. Queue compatibility When creating the ORAESB schema (in version 10.1.3.3) using the script $ORACLE_HOME/integration/esb/sql/oracle/create_esb_topics.sql, the queues are [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using AQ within Oracle ESB there might be a point in time you want to tune AQ performance. In this post you&#8217;ll find the results of Metalink research, and our experience on a production system.</p>
<h3>Queue compatibility</h3>
<p>When creating the ORAESB schema (in version 10.1.3.3) using the script <code>$ORACLE_HOME/integration/esb/sql/oracle/create_esb_topics.sql</code>, the queues are created with 8.1 compatibility. This is solved in 10.1.3.4. To alter this find the statement</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;">dbms_aqadm<span style="color: #66cc66;">.</span>create_queue_table
    <span style="color: #66cc66;">&#40;</span> Queue_table <span style="color: #66cc66;">=&gt;</span> qtablename
    <span style="color: #66cc66;">,</span> Queue_payload_type <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'SYS.AQ$_JMS_TEXT_MESSAGE'</span>
    <span style="color: #66cc66;">,</span> multiple_consumers <span style="color: #66cc66;">=&gt;</span> true
    <span style="color: #66cc66;">,</span> compatible <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'8.1'</span>
    <span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>and change this to:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;">dbms_aqadm<span style="color: #66cc66;">.</span>create_queue_table
    <span style="color: #66cc66;">&#40;</span> Queue_table <span style="color: #66cc66;">=&gt;</span> qtablename
    <span style="color: #66cc66;">,</span> Queue_payload_type <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'SYS.AQ$_JMS_TEXT_MESSAGE'</span>
    <span style="color: #66cc66;">,</span> multiple_consumers <span style="color: #66cc66;">=&gt;</span> true
    <span style="color: #66cc66;">,</span> compatible <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'10.2'</span>
    <span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>if you already created the queues, use this statement:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;">dbms_aqadm<span style="color: #66cc66;">.</span>migrate_queue_table
    <span style="color: #66cc66;">&#40;</span> queue_table <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'ESB_JAVA_DEFERRED'</span>
    <span style="color: #66cc66;">,</span> compatible <span style="color: #66cc66;">=&gt;</span> <span style="color: #ff0000;">'10.2'</span>
    <span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>If you&#8217;re not sure check the compatibility with this query:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> queue_table
<span style="color: #66cc66;">,</span>      compatible
<span style="color: #66cc66;">,</span>      recipients
<span style="color: #993333; font-weight: bold;">FROM</span>   dba_QUEUE_tables
<span style="color: #993333; font-weight: bold;">WHERE</span>  owner <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'ORAESB'</span>
;</pre></td></tr></table></div>

<h3>Streams pool size</h3>
<p>Verify the current stream_pool_size using the following query:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> component
<span style="color: #66cc66;">,</span>      current_size<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span> <span style="color: #ff0000;">&quot;CURRENT_SIZE&quot;</span>
<span style="color: #66cc66;">,</span>      min_size<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span> <span style="color: #ff0000;">&quot;MIN_SIZE&quot;</span>
<span style="color: #66cc66;">,</span>      user_specified_size<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">1024</span> <span style="color: #ff0000;">&quot;USER_SPECIFIED_SIZE&quot;</span>
<span style="color: #66cc66;">,</span>      last_oper_type <span style="color: #ff0000;">&quot;TYPE&quot;</span> 
<span style="color: #993333; font-weight: bold;">FROM</span>   v$sga_dynamic_components
;</pre></td></tr></table></div>

<p>look for the <strong>streams pool</strong>. There are several Metalink notes on this setting (including 316889.1, 102926.1 and 335516.1). The latter has a general recommandetion per RDBMS version:</p>
<ul>
<li>11g: set STREAMS_POOL_SIZE to be greater or equal to 100 MB;</li>
<li>10gR2: set SGA_TARGET > 0 and STREAMS_POOL_SIZE=0 to enable autotuning of the Streams pool;</li>
<li>10gR1: use the STREAMS_POOL_SIZE init.ora parameter to configure the Streams memory allocation;</li>
</ul>
<p>And of course you could use <code>V$STREAMS_POOL_ADVICE</code> to get advice for your specific situation.</p>
<h3>Upgrade the JDK</h3>
<p>A <a href="http://www.deltalounge.net/wpress/2009/11/oracle-esb-using-aq-on-aix-performance-boost/">described here</a> upgrading the JDK can also give a performance boost.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deltalounge.net/wpress/2009/12/tuning-aq-for-oracle-esb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle ESB performance enhancements</title>
		<link>http://www.deltalounge.net/wpress/2009/09/oracle-esb-performance-enhancements/</link>
		<comments>http://www.deltalounge.net/wpress/2009/09/oracle-esb-performance-enhancements/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 09:41:09 +0000</pubDate>
		<dc:creator>PeterPaul</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[Service Bus]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[queue]]></category>

		<guid isPermaLink="false">http://www.deltalounge.net/wpress/?p=362</guid>
		<description><![CDATA[Because the growth in the number of messages that one of our customers is receiving on it&#8217;s Oracle ESB, they were looking into how to enhance it&#8217;s performance. Oracle came up with the following clues: Upgrade SOA Suite to a higher patch level Reduce logging (including instance tracking in ESB) Increase the number of listeners [...]]]></description>
			<content:encoded><![CDATA[<p>Because the growth in the number of messages that one of our customers is receiving on it&#8217;s <a href="http://www.oracle.com/technology/products/integration/esb/index.html">Oracle ESB</a>, they were looking into how to enhance it&#8217;s performance. Oracle came up with the following clues:</p>
<ul>
<li>Upgrade SOA Suite to a higher patch level</li>
<li>Reduce logging (including instance tracking in ESB)</li>
<li>Increase the number of listeners in ESB on Queues</li>
<li>Turn off payload validation</li>
</ul>
<p>In order to see what these could do for them we did some loadtesting. The upgrade to a higher patch level of SOA Suite was needed at least to get the ESB working correctly with the configured number of listeners. However because of some issues running <a href="http://download.oracle.com/docs/cd/B10501_01/em.920/a96697/oui.htm">Oracle Universal Installer</a> there wasn&#8217;t any time left to verify that the patch resulted in increased performance.<br />
For functional and application management reasons turning of logging was not considered an option at this stage.</p>
<h4>Increase the number of listeners in ESB on Queues</h4>
<p><div id="attachment_385" class="wp-caption alignright" style="width: 310px"><img src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/09/set-ESB-listeners2-300x102.jpg" alt="set ESB listeners in console" title="set ESB listeners" width="300" height="102" class="size-medium wp-image-385" /><p class="wp-caption-text">set ESB listeners in console</p></div>For each ESB System the number of listeners can be configured. These listeners are used to read from JMS topics. If there is only one listener (which is the default) message are read from the JMS Topic one at a time. The first screenshot shows where to set the number of listereners using the ESB Console.</p>
<p><div id="attachment_386" class="wp-caption alignright" style="width: 310px"><img src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/09/ESB-listeners-1-300x224.jpg" alt="Average response time" title="ESB listeners" width="300" height="224" class="size-medium wp-image-386" /><p class="wp-caption-text">Average response time</p></div><br />
To determine the optimum number of listeners for the specific ESB, OS, hardware combination we did some loadtesting. The results for the average response time are shown in the next screenshot.</p>
<p>As expected the respons time increases at a certain point when the number of listeners is raised.<br />
<div id="attachment_387" class="wp-caption alignright" style="width: 310px"><img src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/09/ESB-listeners-2-300x170.jpg" alt="With 90% and max response time" title="ESB listeners 2" width="300" height="170" class="size-medium wp-image-387" /><p class="wp-caption-text">With 90% and max response time</p></div>&#8220;Time out&#8221; messages are never created by averages. While this first graph looks great and is very convincing, we are even more interested in the 90% and maximum respons times. A chart for these statistics has been included as well. Analyzing this graph one can conclude that this has an even stronger support to set the number of listeners to an appropriate level.</p>
<p>From this experiments it can be concluded that the response time can significantly be reduced by setting the number of listeners of an ESB system to the appropriate level. The maximum respons time has can be decreased by over 50%. This has a significant impact on the availability of the services exposed using the ESB.</p>
<h4>Turn off payload validation</h4>
<p><div id="attachment_388" class="wp-caption alignright" style="width: 310px"><img src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/09/set-ESB-validate-payload-300x61.jpg" alt="Turn off payload validation" title="set ESB validate payload" width="300" height="61" class="size-medium wp-image-388" /><p class="wp-caption-text">Turn off payload validation</p></div><br />
Another idea to enhance the performance is to turn off payload validation. Needless to say that this also has functional aspect. In most cases the validation that is performed here has some kind of business (related goal), like data quality. To switch it off, has impact, and the validation has te be migrated to some place else in the software.<br />
<div id="attachment_389" class="wp-caption alignright" style="width: 310px"><img src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/09/ESB-payload-validation-300x181.jpg" alt="Response time " title="ESB payload validation" width="300" height="181" class="size-medium wp-image-389" /><p class="wp-caption-text">Response time </p></div><br />
The performance results can be dramatic. In a positive way! As is shown in the figure on the right, the respons time can be reduced to a fifth of the original. This goes for both the average and the maximum respons times.</p>
<p>If you can change your service so payload validation at this point is no longer required, this is a great step in enhancing the Oracle ESB&#8217;s performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deltalounge.net/wpress/2009/09/oracle-esb-performance-enhancements/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>What is in the queue?</title>
		<link>http://www.deltalounge.net/wpress/2009/04/what-is-in-the-queue/</link>
		<comments>http://www.deltalounge.net/wpress/2009/04/what-is-in-the-queue/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 07:26:55 +0000</pubDate>
		<dc:creator>PeterPaul</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[Service Bus]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[HermesJMS]]></category>
		<category><![CDATA[JMS]]></category>
		<category><![CDATA[queue]]></category>

		<guid isPermaLink="false">http://www.deltalounge.net/wpress/?p=20</guid>
		<description><![CDATA[One of our customers asked me exactly this question. They have an  Oracle ESB and it seemed that it could not handle all incoming requests. With the queues being a decoupling point between the incoming requests and the related transactions to the back office systems, its size can be an indication of just how busy [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 83px"><img title="Async queue" src="http://www.soapatterns.org/asynchronous_queuing.png" alt="Async queue" width="73" height="21" /><p class="wp-caption-text">Async queue</p></div>
<p>One of our customers asked me exactly this question. They have an  <a href="http://www.oracle.com/technology/products/integration/esb/index.html">Oracle ESB</a> and it seemed that it could not handle all incoming requests. With the queues being a decoupling point between the incoming requests and the related transactions to the back office systems, its size can be an indication of just how busy the system is.</p>
<p>As I couldn&#8217;t find the answer using the Oracle Enterprise Manager <a href="http://www.oracle.com/technology/products/oem/index.html">Oracle Enterprise Manager</a> and its MBeans, I started to look on the web for a tool. The tool I found and started to use was <a href="http://www.hermesjms.com/confluence/display/HJMS/Home">HermesJMS</a>. This helps you interact with JMS providers making it easy to browse or search queues and topics, copy messages around and delete them.</p>
<div class="wp-caption alignright" style="width: 266px"><img title="HermesJMS screenshot" src="http://www.deltalounge.net/wpress/wp-content/uploads/2009/04/screenshothermesjms.gif" alt="HermesJMS screenshot" width="256" height="192" /><p class="wp-caption-text">HermesJMS screenshot</p></div>
<p>The HermesJMS requires Java 1.6. It has a clear installation guide <a href="http://www.hermesjms.com/confluence/display/HJMS/Installing">installation guide</a> and it is tested for multiple JMS providers. Besides the guide we needed for the Oracle AS <a href="http://www.hermesjms.com/confluence/display/HJMS/Oracle"> </a>there is also another <a href="http://mike-lehmann.blogspot.com/2006/09/i-was-working-with-oracleas-jms-over.html">blog</a> describing the install and use of HermesJMS.</p>
<p>Using HermesJMS we were able to answer this customers question.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deltalounge.net/wpress/2009/04/what-is-in-the-queue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
