<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.otmfaq.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.otmfaq.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
		<title>OTMFAQ Blogs</title>
		<link>http://www.otmfaq.com/forums/blog.php</link>
		<description>Oracle OTM / G-Log GC3 Community Blogs</description>
		<language>en</language>
		<lastBuildDate>Tue, 13 May 2008 13:43:26 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.otmfaq.com/forums/images/ad/misc/rss.jpg</url>
			<title>Oracle OTM / G-Log GC3 Community Support - Blogs</title>
			<link>http://www.otmfaq.com/forums/blog.php</link>
		</image>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.otmfaq.com/otmfaq/blogs" type="application/rss+xml" /><feedburner:emailServiceId>1179553</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.otmfaq.com/otmfaq/blogs" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.otmfaq.com%2Fotmfaq%2Fblogs" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
			<title>A New Address!</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/280713354/14-new-address.html</link>
			<pubDate>Wed, 30 Apr 2008 10:11:55 GMT</pubDate>
			<description><![CDATA[The funny thing about being in the logistics industry is that when it comes to your own logistics, all the lessons you have learnt at your job - about being disciplined in your packing, labeling, securing and coordinating - gets thrown out the door. At least for me that is :rolleyes:

Just for the record, I have *moved house 22 times in 32 years*. Yes - thats 1 move every 1.45454545 years. (now you know my age). The secret to a surviving that many moves is not to keep anything for long - throw it away if you don't need it, and keep everything ready packed :p

So what have I been really doing? Well its not really moving house per-se, but our trusty network needs a new vendor! As a result of the recent merger in my company, our networks needed to move to a new vendor, and so, OTM needs an new address.

Unfortunately, my 32 years of house moving experience came to naught and I reached out to Oracle folks for help to migrate my OTM installation.

Thing is that Oracle themselves do not have any  official documentation and their recommendation is to reinstall OTM (thats just like raizing our house to the ground and rebuild it again)

Desperate, I reached out and Chris was kind enough to provide a list of configuration files to change the IP  with.

After asking his kind permission, I am attaching a sample checklist for those who are brave enough to attempt this. As usual - *I offer no guarantees or assurances*. If you are unsure, please consult a OTM Technical Consultant. Trust me, its worth it if you are unsure - don't want to burn your house yeah???

Hope this helps and happy moving!]]></description>
			<content:encoded><![CDATA[<div>The funny thing about being in the logistics industry is that when it comes to your own logistics, all the lessons you have learnt at your job - about being disciplined in your packing, labeling, securing and coordinating - gets thrown out the door. At least for me that is :rolleyes:<br />
<br />
Just for the record, I have <b>moved house 22 times in 32 years</b>. Yes - thats 1 move every 1.45454545 years. (now you know my age). The secret to a surviving that many moves is not to keep anything for long - throw it away if you don't need it, and keep everything ready packed :p<br />
<br />
So what have I been really doing? Well its not really moving house per-se, but our trusty network needs a new vendor! As a result of the recent merger in my company, our networks needed to move to a new vendor, and so, OTM needs an new address.<br />
<br />
Unfortunately, my 32 years of house moving experience came to naught and I reached out to Oracle folks for help to migrate my OTM installation.<br />
<br />
Thing is that Oracle themselves do not have any  official documentation and their recommendation is to reinstall OTM (thats just like raizing our house to the ground and rebuild it again)<br />
<br />
Desperate, I reached out and Chris was kind enough to provide a list of configuration files to change the IP  with.<br />
<br />
After asking his kind permission, I am attaching a sample checklist for those who are brave enough to attempt this. As usual - <b>I offer no guarantees or assurances</b>. If you are unsure, please consult a OTM Technical Consultant. Trust me, its worth it if you are unsure - don't want to burn your house yeah???<br />
<br />
Hope this helps and happy moving!</div>


<!-- attachments -->
	<div style="margin-top:10px">

		
			<fieldset class="fieldset">
				<legend>Attached Thumbnails</legend>
				<div style="padding:3px">
				<a href="http://www.otmfaq.com/forums/blogs/%user_name%/attachments/4d1210570636-%blog_title%-a"><img class="thumbnail" src="http://www.otmfaq.com/forums/blogs/%user_name%/attachments/4d1210570636t-%blog_title%-a" border="0" alt="Click image for larger version

Name:	Oracle Application Server Administrator Guide - Changing Network Config.pdf
Views:	1
Size:	154.8 KB
ID:	4" /></a>
&nbsp;
				</div>
			</fieldset>
		
		
		
		
			<fieldset class="fieldset">
				<legend>Attached Files</legend>
				<table cellpadding="0" cellspacing="3" border="0">
				<tr>
	<td><img class="inlineimg" src="http://www.otmfaq.com/forums/images/attach/doc.gif" alt="File Type: doc" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
	<td><a href="http://www.otmfaq.com/forums/blogs/%user_name%/attachments/3d1209550172-%blog_title%-a">Sample Checklist.doc</a> (85.5 KB, 8 views)</td>
</tr>
				</table>
			</fieldset>
		

	</div>
<!-- / attachments -->
<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=lKG9DG"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=lKG9DG" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=fcmfcG"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=fcmfcG" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=zaEMKg"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=zaEMKg" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=kIioHg"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=kIioHg" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=3pfWSG"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=3pfWSG" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=BzHkSG"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=BzHkSG" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Ktdb9g"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Ktdb9g" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/280713354" height="1" width="1"/>]]></content:encoded>
			<dc:creator>ianlo</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/ianlo/14-new-address.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/ianlo/14-new-address.html</feedburner:origLink></item>
		<item>
			<title>Benchmarking (Part 4): Real-World Network Performance with Soap Stone</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/274903752/13-benchmarking-part-4-real-world-network-performance-soap-stone.html</link>
			<pubDate>Mon, 21 Apr 2008 18:16:14 GMT</pubDate>
			<description><![CDATA[Hello!

I wanted to give a quick tutorial on how to benchmark real-world network performance using Soap Stone. I like this benchmark more than standard network throughput tests (ttcp, NetIO, etc) because it uses the Java JVM (just as OTM does) and it also utilizes application protocols that are similar to OTMs -- so rather than a meaningless throughput number, the results reflect the throughput you'll see with OTM and other multi-tier Java applications.  Specifically, I test 3 protocols: http, rmi and raw.  As always, this fits well into the MavenWire Benchmark Toolkit, because it is FREE and works very well.:)

First, some links you'll need:*Soap Stone Benchmark*
http://soap-stone.sourceforge.net/

    *BEA JRockit JVM*
http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp

    *Sun Java JVM*
http://java.sun.com/javase/downloads/

    *HP Java JVM*
http://www.hp.com/java/

    *IBM Java JVM*
http://www.ibm.com/developerworks/java/

To get started, download and install Soap Stone, then download the JVMs that you'd like to test. Keep in mind that OTM v5.x uses Java 1.4.x. For our tests here, I'm going to benchmark JRockit 1.4.2_12.

Go ahead and install Soap Stone to /opt/benchmarks/soapstone. Now install your JDKs, per the directions given for each. After installing, I like to copy each one under the /opt/benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers. For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12. Ensure that the JDK you'd like to test is in your path and then run the following to verify:
Code:
---------
[benchmark@perftest02 soapstone]$ ./java -version
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
BEA JRockit(R) (build R27.1.0-109-73164-1.4.2_12-20061129-1418-linux-ia32, compiled mode)
[benchmark@perftest02 soapstone]$
---------
Next, install it on another server (it's a network test - after all!).  You may need to ensure that firewall rules are open, ports are available, etc - depending on your network configuration.  When in doubt, talk with your network admin!

Open up one terminal session into server1.  Run the following command to run the server side of the benchmark:

Code:
---------
[benchmark@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar server -server `hostname`
---------
Next, open up one terminal session into server2.  Run the following command to run the client side of the benchmark (replace [PROTOCOL] with either http, rmi or raw):

Code:
---------
[benchmark@perftest02 soapstone]# java -jar soap-stone-full-0.952.jar client -server [SERVER1_IP] -protocol [PROTOCOL]
---------
So here's the breakdown of the different protocols and when you'd use them:
* HTTP
  * Simulates the Browser to OTM Web server traffic (or Integration Server to OTM Web server)
* RMI
  * Simulates the OTM Web server (Tomcat) to OTM App server (WebLogic / OAS / WebSphere) traffic.
* RAW
  * Best simulates the OTM App (WebLogic / OAS / WebSphere) to OTM DB server traffic.

So - depending on the servers I'm testing, I'll choose the appropriate protocol from the list above.

The benchmark will take only a minute or so to run.

Once it is complete, check the output for errors.  Once you're sure that you're benchmark runs are clean, then you can reliably run the benchmark and simply pull the timing results from the results.txt file.

Example Results:
*HTTP Test*

Code:
---------
[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server perftest02 -protocol http
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server perftest02 -protocol http
soap-stone Client: connecting to control socket: /perftest02:8001
.+.........
soap-stone Client: size=1500 bytes buffers=1000 avg=45.69 Mbit/sec min=7.34 Mbit/sec max=52.5 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 3620 ms
---------
* RMI Test*

Code:
---------
[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server perftest02 -protocol rmi
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server perftest02 -protocol rmi
soap-stone Client: connecting to control socket: /perftest02:8001
.+.........
soap-stone Client: size=1500 bytes buffers=1000 avg=62.29 Mbit/sec min=4.81 Mbit/sec max=69.78 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 2965 ms
---------
 *RAW Test*

Code:
---------
[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server perftest02-protocol raw
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server perftest02 -protocol raw
soap-stone Client: connecting to control socket: /perftest02:8001
++..........
soap-stone Client: size=1500 bytes buffers=10000 avg=899.7 Mbit/sec min=894.07 Mbit/sec max=901.11 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 2489 ms
[root@perftest01 soapstone]#
---------
 The results are in Mbit/sec, so a higher number is better (i.e. more throughput).

To ensure I have solid, repeatable results - I run the benchmark 3 times and create a final score by averaging the results of each. If I notice a significant statistical difference from run to run, then I'll invalidate the results and analyze the system to ensure that nothing else is running or that there isn't a problem with the benchmark. For instance, when running this test between two of our medium-sized Hosting servers, the following results were returned:*HTTP Test*
Run 1 (Mbits/sec): 50.28
    Run 2 (Mbits/sec): 50.25
    Run 3 (Mbits/sec): 50.22
    Final Averaged Result (Mbits/sec): 50.25
(higher is better)

*RMI Test*
Run 1 (Mbits/sec): 62.52
    Run 2 (Mbits/sec): 63.28
    Run 3 (Mbits/sec): 64.17
    Final Averaged Result (Mbits/sec): 63.32
(higher is better)

*RAW Test*
Run 1 (Mbits/sec): 893.38 
    Run 2 (Mbits/sec): 899.00
    Run 3 (Mbits/sec): 896.18
    Final Averaged Result (Mbits/sec): 896.19
(higher is better)

In order to test multiple servers that run the same OS, you just need to tar up the Soap Stone installation directory and JVM, transfer to the new server, extract and then run the tests -- simple!

If you'd like to compare different platforms (say Solaris vs. Linux), just install the Soap Stone on each server, then download the appropriate Java JVMs for each platform and configure Soap Stone to use them. Run the tests and compare the results.

I hope this helps.

--Chris

Other related Posts:
*      Benchmarking (Part 1): Java JVM Performance with VolanoMark
  * http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html
* Benchmarking (Part 2): Oracle DB Performance with Hammerora
  * http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html
* Benchmarking (Part 3): Java JVM Performance with DaCapo
  * http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html

]]></description>
			<content:encoded><![CDATA[<div>Hello!<br />
<br />
I wanted to give a quick tutorial on how to benchmark real-world network performance using Soap Stone. I like this benchmark more than standard network throughput tests (ttcp, NetIO, etc) because it uses the Java JVM (just as OTM does) and it also utilizes application protocols that are similar to OTMs -- so rather than a meaningless throughput number, the results reflect the throughput you'll see with OTM and other multi-tier Java applications.  Specifically, I test 3 protocols: http, rmi and raw.  As always, this fits well into the MavenWire Benchmark Toolkit, because it is FREE and works very well.:)<br />
<br />
First, some links you'll need:<blockquote><b>Soap Stone Benchmark</b><br />
<a href="http://soap-stone.sourceforge.net/" target="_blank">http://soap-stone.sourceforge.net/</a><br />
<br />
    <b>BEA JRockit JVM</b><br />
<a href="http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp" target="_blank">http://commerce.bea.com/products/web...t_prod_fam.jsp</a><br />
<br />
    <b>Sun Java JVM</b><br />
<a href="http://java.sun.com/javase/downloads/" target="_blank">http://java.sun.com/javase/downloads/</a><br />
<br />
    <b>HP Java JVM</b><br />
<a href="http://www.hp.com/java/" target="_blank">http://www.hp.com/java/</a><br />
<br />
    <b>IBM Java JVM</b><br />
<a href="http://www.ibm.com/developerworks/java/" target="_blank">http://www.ibm.com/developerworks/java/</a><br />
</blockquote>To get started, download and install Soap Stone, then download the JVMs that you'd like to test. Keep in mind that OTM v5.x uses Java 1.4.x. For our tests here, I'm going to benchmark JRockit 1.4.2_12.<br />
<br />
Go ahead and install Soap Stone to /opt/benchmarks/soapstone. Now install your JDKs, per the directions given for each. After installing, I like to copy each one under the /opt/benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers. For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12. Ensure that the JDK you'd like to test is in your path and then run the following to verify:<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 98px;
		text-align: left;
		overflow: auto">[benchmark@perftest02 soapstone]$ ./java -version
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
BEA JRockit(R) (build R27.1.0-109-73164-1.4.2_12-20061129-1418-linux-ia32, compiled mode)
[benchmark@perftest02 soapstone]$</pre>
</div>Next, install it on another server (it's a network test - after all!).  You may need to ensure that firewall rules are open, ports are available, etc - depending on your network configuration.  When in doubt, talk with your network admin!<br />
<br />
Open up one terminal session into server1.  Run the following command to run the server side of the benchmark:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 34px;
		text-align: left;
		overflow: auto">[benchmark@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar server -server `hostname`</pre>
</div>Next, open up one terminal session into server2.  Run the following command to run the client side of the benchmark (replace [PROTOCOL] with either http, rmi or raw):<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 34px;
		text-align: left;
		overflow: auto">[benchmark@perftest02 soapstone]# java -jar soap-stone-full-0.952.jar client -server [SERVER1_IP] -protocol [PROTOCOL]</pre>
</div>So here's the breakdown of the different protocols and when you'd use them:<ul><li>HTTP<ul><li>Simulates the Browser to OTM Web server traffic (or Integration Server to OTM Web server)</li>
</ul></li>
<li>RMI<ul><li>Simulates the OTM Web server (Tomcat) to OTM App server (WebLogic / OAS / WebSphere) traffic.</li>
</ul></li>
<li>RAW<ul><li>Best simulates the OTM App (WebLogic / OAS / WebSphere) to OTM DB server traffic.</li>
</ul></li>
</ul>So - depending on the servers I'm testing, I'll choose the appropriate protocol from the list above.<br />
<br />
The benchmark will take only a minute or so to run.<br />
<br />
Once it is complete, check the output for errors.  Once you're sure that you're benchmark runs are clean, then you can reliably run the benchmark and simply pull the timing results from the results.txt file.<br />
<br />
Example Results:<br />
<b>HTTP Test</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 210px;
		text-align: left;
		overflow: auto">[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server <font color="black">perftest02</font> -protocol http
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server <font color="black">perftest02</font> -protocol http
soap-stone Client: connecting to control socket: /<font color="black">perftest02</font>:8001
.+.........
soap-stone Client: size=1500 bytes buffers=1000 avg=45.69 Mbit/sec min=7.34 Mbit/sec max=52.5 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 3620 ms</pre>
</div><b> RMI Test</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 210px;
		text-align: left;
		overflow: auto">[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server <font color="black">perftest02</font> -protocol rmi
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server <font color="black">perftest02</font> -protocol rmi
soap-stone Client: connecting to control socket: /<font color="black">perftest02</font>:8001
.+.........
soap-stone Client: size=1500 bytes buffers=1000 avg=62.29 Mbit/sec min=4.81 Mbit/sec max=69.78 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 2965 ms</pre>
</div> <b>RAW Test</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 226px;
		text-align: left;
		overflow: auto">[root@perftest01 soapstone]# java -jar soap-stone-full-0.952.jar client -server <font color="black">perftest02</font>-protocol raw
soap-stone: Plugin 'soap' loaded from ./plugins/jwsdp-plugin.jar
soap-stone: Plugin 'http' loaded from ./plugins/http-plugin.jar
soap-stone: Plugin 'raw' loaded from ./plugins/raw-plugin.jar
soap-stone: Plugin 'rmi' loaded from ./plugins/rmi-plugin.jar
soap-stone Client: command-line: soap-stone client -server <font color="black">perftest02</font> -protocol raw
soap-stone Client: connecting to control socket: /<font color="black">perftest02</font>:8001
++..........
soap-stone Client: size=1500 bytes buffers=10000 avg=899.7 Mbit/sec min=894.07 Mbit/sec max=901.11 Mbit/sec

prefixes=java.runtime.,java.version.,java.vm.,os.,soap-stone. suppress=java.vm.specification
done in 2489 ms
[root@perftest01 soapstone]#</pre>
</div> The results are in Mbit/sec, so a higher number is better (i.e. more throughput).<br />
<br />
To ensure I have solid, repeatable results - I run the benchmark 3 times and create a final score by averaging the results of each. If I notice a significant statistical difference from run to run, then I'll invalidate the results and analyze the system to ensure that nothing else is running or that there isn't a problem with the benchmark. For instance, when running this test between two of our medium-sized Hosting servers, the following results were returned:<blockquote><b>HTTP Test</b><br />
Run 1 (Mbits/sec): 50.28<br />
    Run 2 (Mbits/sec): 50.25<br />
    Run 3 (Mbits/sec): 50.22<br />
    Final Averaged Result (Mbits/sec): 50.25<br />
<font color="Blue">(higher is better)</font><br />
<br />
<b>RMI Test</b><br />
Run 1 (Mbits/sec): 62.52<br />
    Run 2 (Mbits/sec): 63.28<br />
    Run 3 (Mbits/sec): 64.17<br />
    Final Averaged Result (Mbits/sec): 63.32<br />
<font color="Blue">(higher is better)</font><br />
<br />
<b>RAW Test</b><br />
Run 1 (Mbits/sec): 893.38 <br />
    Run 2 (Mbits/sec): 899.00<br />
    Run 3 (Mbits/sec): 896.18<br />
    Final Averaged Result (Mbits/sec): 896.19<br />
<font color="Blue">(higher is better)</font><br />
</blockquote>In order to test multiple servers that run the same OS, you just need to tar up the Soap Stone installation directory and JVM, transfer to the new server, extract and then run the tests -- simple!<br />
<br />
If you'd like to compare different platforms (say Solaris vs. Linux), just install the Soap Stone on each server, then download the appropriate Java JVMs for each platform and configure Soap Stone to use them. Run the tests and compare the results.<br />
<br />
I hope this helps.<br />
<br />
--Chris<br />
<br />
Other related Posts:<ul><li>     Benchmarking (Part 1): Java JVM Performance with VolanoMark<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...olanomark.html</a></li>
</ul></li>
<li>Benchmarking (Part 2): Oracle DB Performance with Hammerora<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...hammerora.html</a></li>
</ul></li>
<li>Benchmarking (Part 3): Java JVM Performance with <font color="black">DaCapo</font><ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-" target="_blank">http://www.otmfaq.com/forums/blogs/c...m-performance-</a><font color="black">dacapo</font>.html</li>
</ul></li>
</ul></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Vlyn40G"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Vlyn40G" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=gTfvq2G"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=gTfvq2G" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=C3GDpLg"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=C3GDpLg" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=6vRZWdg"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=6vRZWdg" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=LJ7Sz1G"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=LJ7Sz1G" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=gRDEIOG"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=gRDEIOG" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=9Gux9Xg"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=9Gux9Xg" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/274903752" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html</feedburner:origLink></item>
		<item>
			<title>Benchmarking (Part 3): Java JVM Performance with DaCapo</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/256606620/12-benchmarking-part-3-java-jvm-performance-dacapo.html</link>
			<pubDate>Sun, 23 Mar 2008 16:37:25 GMT</pubDate>
			<description><![CDATA[Hello!

I wanted to give a quick tutorial on how to benchmark JVM performance with the DaCapo Benchmarks. This is a great benchmark for determining the computational (algorithm crunching) power of different Java JVMs on various platforms. Also, since this is a highly computational, it does a good job of providing relative OTM Bulk Planning performance.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)

First, some links you'll need:     *DaCapo Benchmark*
http://dacapobench.org/

    *BEA JRockit JVM*
http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp

    *Sun Java JVM*
http://java.sun.com/javase/downloads/

    *HP Java JVM*
http://www.hp.com/java/

    *IBM Java JVM*
http://www.ibm.com/developerworks/java/

To get started, download and install DaCapo, then download the JVMs that you'd like to test. Keep in mind that OTM v5.0 and up uses Java 1.4.x. For our tests here, I'm going to benchmark JRockit 1.4.2_12.

Go ahead and install DaCapo to /opt/benchmarks/dacapo.  Now install your JDKs, per the directions given for each. After installing, I like to copy each one under the /opt/benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers. For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12.  Ensure that the JDK you'd like to test is in your path and then run the following to verify:
Code:
---------
[benchmark@perftest02 dacapo]$ ./java -version
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
BEA JRockit(R) (build R27.1.0-109-73164-1.4.2_12-20061129-1418-linux-ia32, compiled mode)
[benchmark@perftest02 dacapo]$
---------
Next, extract the xalan.jar file, so the benchmark will run correctly:

Code:
---------
[benchmark@perftest02 dacapo]$ jar -xvf dacapo-2006-10-MR2.jar xalan.jar
---------
Now, in the DaCapo installation directory, create a script like the following to run the benchmark and process the log files:

run_dacapo.sh

Code:
---------
#!/bin/bash

export CLASSPATH=./lib:$CLASSPATH; export CLASSPATH

echo "** Starting Benchmarks"
echo " * This will take several minutes"
java -Xms256m -Xmx256m -Xbootclasspath/p:xalan.jar -jar dacapo-2006-10-MR2.jar -s large antlr bloat 
fop hsqldb jython lusearch luindex pmd xalan > output.txt 2>&1
echo "** Benchmarks Completed"
grep '=====' output.txt > results.txt
echo " * Benchmark results are in results.txt"
---------
Now that the installation and configuration are complete, let's run some tests!

Open up one terminal session into your server.  Run the following command to run the benchmark:

Code:
---------
[benchmark@perftest01 dacapo]# chmod +x run_dacapo.sh
[benchmark@perftest01 dacapo]# ./run_dacapo.sh
---------
The benchmark will take anywhere from 5-10 minutes to run.

Once it is complete, check the output.txt file and ensure there weren't any errors.  Certain JVMs aren't able to run all of the tests (I've noticed this with the IBM JDK), so you may have to exclude various tests.  Once you're sure that you're benchmark runs are clean, then you can reliably run the benchmark and simply pull the timing results from the results.txt file.

Example Results from results.txt:

Code:
---------
===== DaCapo antlr starting =====
===== DaCapo antlr PASSED in 4630 msec =====
===== DaCapo bloat starting =====
===== DaCapo bloat PASSED in 61779 msec =====
===== DaCapo fop starting =====
===== DaCapo fop PASSED in 2226 msec =====
===== DaCapo hsqldb starting =====
===== DaCapo hsqldb PASSED in 5079 msec =====
===== DaCapo jython starting =====
===== DaCapo jython PASSED in 24531 msec =====
===== DaCapo lusearch starting =====
===== DaCapo lusearch PASSED in 3396 msec =====
===== DaCapo luindex starting =====
===== DaCapo luindex PASSED in 6203 msec =====
===== DaCapo pmd starting =====
===== DaCapo pmd PASSED in 24445 msec =====
===== DaCapo xalan starting =====
===== DaCapo xalan PASSED in 14990 msec =====
---------
The results are in msec, so a lower number is better (i.e. faster processing).

For each run, I create an overall score, averaging out the results of each test, giving each one equal weighting.  So for the sample results above, I'd average out 2630, 61779, 2226, 5079, 24531, 3396, 6203, 24445 and 14990, giving a result of 16364.33.  To ensure I have solid, repeatable results - I run the benchmark 3 times and create a final score by averaging the results of each.  If I notice a significant statistical difference from run to run, then I'll invalidate the results and analyze the system to ensure that nothing else is running or that there isn't a problem with the benchmark.  For instance, when running this test on one of our medium-sized Hosting servers, the following results were returned:Run 1 (avg): 14767.00
    Run 2 (avg): 14751.70
    Run 3 (avg): 14774.30
    Final Averaged Result: *14764.33*
(lower is better)

*(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment. Here are the new benchmark results -- FAST!)*Run 1 (avg): 13797.10
    Run 2 (avg): 14305.40
    Run 3 (avg): 13774.10
    Final Averaged Result: *13958.89*
(lower is better)

In order to test multiple servers that run the same OS, you just need to tar up the DaCapo installation directory, transfer to the new server, extract and then run the tests -- simple!

If you'd like to compare different platforms (say Solaris vs. Linux), just install the DaCapo Benchmark on each server, then download the appropriate Java JVMs for each platform and configure DaCapo to use them. Run the tests and compare the results.

I hope this helps.

--Chris

Other related Posts:
*      Benchmarking (Part 1): Java JVM Performance with VolanoMark
  * http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html
* Benchmarking (Part 2): Oracle DB Performance with Hammerora
  * http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html
* Benchmarking (Part 4): Real-World Network Performance with Soap Stone
  * http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html

]]></description>
			<content:encoded><![CDATA[<div>Hello!<br />
<br />
I wanted to give a quick tutorial on how to benchmark JVM performance with the DaCapo Benchmarks. This is a great benchmark for determining the computational (algorithm crunching) power of different Java JVMs on various platforms. Also, since this is a highly computational, it does a good job of providing relative OTM Bulk Planning performance.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)<br />
<br />
First, some links you'll need:<blockquote>     <b>DaCapo Benchmark</b><br />
<a href="http://dacapobench.org/" target="_blank">http://dacapobench.org/</a><br />
<br />
    <b>BEA JRockit JVM</b><br />
<a href="http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp" target="_blank">http://commerce.bea.com/products/web...t_prod_fam.jsp</a><br />
<br />
    <b>Sun Java JVM</b><br />
<a href="http://java.sun.com/javase/downloads/" target="_blank">http://java.sun.com/javase/downloads/</a><br />
<br />
    <b>HP Java JVM</b><br />
<a href="http://www.hp.com/java/" target="_blank">http://www.hp.com/java/</a><br />
<br />
    <b>IBM Java JVM</b><br />
<a href="http://www.ibm.com/developerworks/java/" target="_blank">http://www.ibm.com/developerworks/java/</a><br />
</blockquote>To get started, download and install DaCapo, then download the JVMs that you'd like to test. Keep in mind that OTM v5.0 and up uses Java 1.4.x. For our tests here, I'm going to benchmark JRockit 1.4.2_12.<br />
<br />
Go ahead and install DaCapo to /opt/benchmarks/dacapo.  Now install your JDKs, per the directions given for each. After installing, I like to copy each one under the /opt/benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers. For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12.  Ensure that the JDK you'd like to test is in your path and then run the following to verify:<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 98px;
		text-align: left;
		overflow: auto">[benchmark@perftest02 dacapo]$ ./java -version
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
BEA JRockit(R) (build R27.1.0-109-73164-1.4.2_12-20061129-1418-linux-ia32, compiled mode)
[benchmark@perftest02 dacapo]$</pre>
</div>Next, extract the xalan.jar file, so the benchmark will run correctly:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 34px;
		text-align: left;
		overflow: auto">[benchmark@perftest02 dacapo]$ jar -xvf dacapo-2006-10-MR2.jar xalan.jar</pre>
</div>Now, in the DaCapo installation directory, create a script like the following to run the benchmark and process the log files:<br />
<br />
run_dacapo.sh<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 194px;
		text-align: left;
		overflow: auto">#!/bin/bash

export CLASSPATH=./lib:$CLASSPATH; export CLASSPATH

echo "** Starting Benchmarks"
echo " * This will take several minutes"
java -Xms256m -Xmx256m -Xbootclasspath/p:xalan.jar -jar dacapo-2006-10-MR2.jar -s large antlr bloat 
fop hsqldb jython lusearch luindex pmd xalan > output.txt 2>&amp;1
echo "** Benchmarks Completed"
grep '=====' output.txt > results.txt
echo " * Benchmark results are in results.txt"</pre>
</div>Now that the installation and configuration are complete, let's run some tests!<br />
<br />
Open up one terminal session into your server.  Run the following command to run the benchmark:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 50px;
		text-align: left;
		overflow: auto">[benchmark@perftest01 dacapo]# chmod +x run_dacapo.sh
[benchmark@perftest01 dacapo]# ./run_dacapo.sh</pre>
</div>The benchmark will take anywhere from 5-10 minutes to run.<br />
<br />
Once it is complete, check the output.txt file and ensure there weren't any errors.  Certain JVMs aren't able to run all of the tests (I've noticed this with the IBM JDK), so you may have to exclude various tests.  Once you're sure that you're benchmark runs are clean, then you can reliably run the benchmark and simply pull the timing results from the results.txt file.<br />
<br />
Example Results from results.txt:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 306px;
		text-align: left;
		overflow: auto">===== DaCapo antlr starting =====
===== DaCapo antlr PASSED in 4630 msec =====
===== DaCapo bloat starting =====
===== DaCapo bloat PASSED in 61779 msec =====
===== DaCapo fop starting =====
===== DaCapo fop PASSED in 2226 msec =====
===== DaCapo hsqldb starting =====
===== DaCapo hsqldb PASSED in 5079 msec =====
===== DaCapo jython starting =====
===== DaCapo jython PASSED in 24531 msec =====
===== DaCapo lusearch starting =====
===== DaCapo lusearch PASSED in 3396 msec =====
===== DaCapo luindex starting =====
===== DaCapo luindex PASSED in 6203 msec =====
===== DaCapo pmd starting =====
===== DaCapo pmd PASSED in 24445 msec =====
===== DaCapo xalan starting =====
===== DaCapo xalan PASSED in 14990 msec =====</pre>
</div>The results are in msec, so a lower number is better (i.e. faster processing).<br />
<br />
For each run, I create an overall score, averaging out the results of each test, giving each one equal weighting.  So for the sample results above, I'd average out 2630, 61779, 2226, 5079, 24531, 3396, 6203, 24445 and 14990, giving a result of 16364.33.  To ensure I have solid, repeatable results - I run the benchmark 3 times and create a final score by averaging the results of each.  If I notice a significant statistical difference from run to run, then I'll invalidate the results and analyze the system to ensure that nothing else is running or that there isn't a problem with the benchmark.  For instance, when running this test on one of our medium-sized Hosting servers, the following results were returned:<blockquote>Run 1 (avg): 14767.00<br />
    Run 2 (avg): 14751.70<br />
    Run 3 (avg): 14774.30<br />
    Final Averaged Result: <b>14764.33</b><br />
<font color="Blue">(lower is better)</font><br />
</blockquote><b>(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment. Here are the new benchmark results -- FAST!)</b><blockquote>Run 1 (avg): 13797.10<br />
    Run 2 (avg): 14305.40<br />
    Run 3 (avg): 13774.10<br />
    Final Averaged Result: <b>13958.89</b><br />
<font color="Blue">(lower is better)</font><br />
</blockquote>In order to test multiple servers that run the same OS, you just need to tar up the DaCapo installation directory, transfer to the new server, extract and then run the tests -- simple!<br />
<br />
If you'd like to compare different platforms (say Solaris vs. Linux), just install the DaCapo Benchmark on each server, then download the appropriate Java JVMs for each platform and configure DaCapo to use them. Run the tests and compare the results.<br />
<br />
I hope this helps.<br />
<br />
--Chris<br />
<br />
Other related Posts:<ul><li>     Benchmarking (Part 1): Java JVM Performance with VolanoMark<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...olanomark.html</a></li>
</ul></li>
<li>Benchmarking (Part 2): Oracle DB Performance with Hammerora<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...hammerora.html</a></li>
</ul></li>
<li>Benchmarking (Part 4): Real-World Network Performance with Soap Stone<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...oap-stone.html</a></li>
</ul></li>
</ul></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=GY8h0qF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=GY8h0qF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=L7Mq0gF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=L7Mq0gF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=ezhCtHf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=ezhCtHf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=EIJfNyf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=EIJfNyf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=wGqomaF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=wGqomaF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=cGHRS2F"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=cGHRS2F" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=nBGq8Uf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=nBGq8Uf" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/256606620" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html</feedburner:origLink></item>
		<item>
			<title>Benchmarking (Part 2): Oracle DB Performance with Hammerora</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/246969453/11-benchmarking-part-2-oracle-db-performance-hammerora.html</link>
			<pubDate>Thu, 06 Mar 2008 20:51:03 GMT</pubDate>
			<description><![CDATA[Hello!

I wanted to give a quick tutorial on how to benchmark DB performance with Hammerora. This is a great benchmark for determining the relative performance of Oracle databases -- allowing you to compare various platforms and also DB configuration changes. Since this is a highly multi-threaded test, it simulates the activity coming from the OTM DB connection pool very well.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)

First, some links you'll need:*Hammerora*
http://hammerora.sourceforge.net/

*Oracle Instant Client (10.2.0.3)*
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html

*Oracle DB (10.2.0.3 Enterprise Edition -- for OTM v5.5)*
http://technet.oracle.com/

To get started, download and install Hammerora.  Follow their installation instructions and you'll be fine (http://hammerora.sourceforge.net/installation.htm).  Ensure that you're getting the right binaries (32-bit or 64-bit) for your version of Linux.  Note:  I wasn't able to get the console installation working, so you may need to install via the GUI (XWindows).

Below, I've provided a pre-modified config.xml file for Hammerora - as this sets up many of the default benchmark behaviors that we use, including the number of warehouses (50), number of virtual users (50), wait times (0), number of iterations (2000), etc.  All of these are important for creating reproducible results and being able to compare against our reference performance numbers.  Copy this file into your Hammerora installation directory, overwriting the existing file.
(unzip after downloading)
Download: Attachment 1 (http://www.otmfaq.com/forums/attachment.php?attachmentid=1)

In addition, we've also provided a modified benchmark script (mavenwire_tpcc.trc), based on the TPC-C script provided with Hammerora.  This updated script includes logging of the individual user's runtime, for performance comparison.  Copy this file into your Hammerora installation directory.
(unzip after downloading)Download: Attachment 2 (http://www.otmfaq.com/forums/attachments/f31/2-otm-training-update-otm-training-update-final.ppt.zip)

Finally, create a tnsnames.ora file under $HAMMERORA_HOME/instantclient_10_2/ for your DB server.  In order to match up with the included configuration files, use a connect string of "HAMMERORA".  Alternately, you can edit the DB connect string parameters (there are several of them), within the Hammerora config.xml and mavenwire_tpcc.trc scripts.

In order to run the test,  you'll need a database.  Since our interest is in testing Oracle DB performance in relation to OTM, I recommend creating an Oracle 10.2.0.3 database with the same parameters as your PROD OTM database.  For tablespaces, however, you'll only need the following:

Tablespace: tpcctab
Size: 5GB

Code:
---------
create tablespace tpcctab
logging
datafile '/u01/oradata/hammerora/TPCCTAB01.dbf'
size 5g
autoextend on
next 256m maxsize 10240m
extent management local;
---------
Temporary Tablespace: TEMP
Size: 2GB

Code:
---------
create temporary tablespace temp
tempfile '/u01/oradata/hammerora/TEMP01.dbf'
size 2g
autoextend on
next 256m maxsize 4096m
extent management local;
---------
Then, just create a user, via the following commands:

Code:
---------
drop user tpcc cascade;
create user tpcc
identified by tpcc
default tablespace tpcctab
temporary tablespace temp;
grant dba to tpcc;
---------
Now, ensure you've configured your environment variables (as noted on the Hammerora install page) startup Hammerora ("./hammerora.tcl &").  Assuming everything starts up without error, then you'll need to load the TPC-C schema into your database (this may take several hours).  In order to do this, select the "Create TPC Schema" button.  Walk away and have a nice cup of coffee (and maybe catch an episode of MythBusters) until it is complete.  Once it is, check for any errors within the console.

At this point, shutdown Hammerora and take a backup of your database (cold backup, preferably).  You'll need this, since you should delete and restore your database between each benchmark run.  This is necessary to ensure that you get consistent, repeatable results.

Now, startup Hammerora again and prepare to run the benchmark.  To run it, do the following:
1. Select "File > Open" and then open the mavenwire_tpcc.trc test file.
2. Click the "Create Virtual Users" button to instantiate your virtual users.
3. Begin recording system statistics (sar) and Oracle Sysstats.
4. Click the "Run Hammerora Loadtest" button to start the actual test.
5. Wait a while -- depending on the speed of your DB server, this could take several minutes to several hours.
6. Once all of the users are complete (check the "Complete" and "Status" columns), click the "Destroy Virtual Users" button to flush out the remaining benchmark timings.
7. Stop recording system statistics (sar) and Oracle Sysstats.
8. The output from the run will be logged to /tmp/hammerora.log.

Example Results (from /tmp/hammerora.log):
Note: You should clear out this file before each benchmark run.

Code:
---------
# grep "User execution time" /tmp/hammerora.log
...
tid0x4aa10940:User execution time 1204836463 to 1204836684 = 221 seconds
tid0x5ea30940:User execution time 1204836463 to 1204836684 = 221 seconds
tid0x4e616940:User execution time 1204836463 to 1204836685 = 222 seconds
tid0x41e02940:User execution time 1204836463 to 1204836686 = 223 seconds
tid0x41401940:User execution time 1204836463 to 1204836686 = 223 seconds
tid0x42803940:User execution time 1204836463 to 1204836688 = 225 seconds
tid0x43204940:User execution time 1204836464 to 1204836689 = 225 seconds
tid0x43c05940:User execution time 1204836464 to 1204836689 = 225 seconds
tid0x45a08940:User execution time 1204836466 to 1204836715 = 249 seconds
tid0x44606940:User execution time 1204836466 to 1204836715 = 249 seconds
tid0x4780b940:User execution time 1204836467 to 1204836733 = 266 seconds
tid0x45007940:User execution time 1204836466 to 1204836733 = 267 seconds
...
---------
To ensure I have solid, repeatable results - I average out all 50 user runtimes to achieve an overall average runtime for the benchmark run.  I then run the full benchmark a total of 3 times (deleting and restoring the DB each time) and calculate the average of all 3 benchmark results to give a final performance number. 

For reference, when running this test on one of our medium-sized Hosting DB servers, the following results were returned:     Run 1 (already averaged):  284.55
    Run 2 (already averaged): 280.14
    Run 3 (already averaged): 291.06
    Final Averaged Result: * 285.25*
(lower is better)

*(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment.  Here are the new benchmark results -- FAST!)*Run 1 (already averaged): 217.23
    Run 2 (already averaged): 225.84
    Run 3 (already averaged): 219.37
    Final Averaged Result: *220.81*
(lower is better)

If you'd like to compare different platforms (say Solaris or HPUX vs. Linux) or databases, just install Hammerora on a central testing box (preferably Linux), configure your tnsnames.ora file and then run the tests and compare the results.

I hope this helps.

--Chris

Other related Posts:
* Benchmarking (Part 1): Java JVM Performance with VolanoMark
  * http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html
* Benchmarking (Part 3): Java JVM Performance with DaCapo
  * http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html
* Benchmarking (Part 4): Real-World Network Performance with Soap Stone
  * http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html

]]></description>
			<content:encoded><![CDATA[<div>Hello!<br />
<br />
I wanted to give a quick tutorial on how to benchmark DB performance with Hammerora. This is a great benchmark for determining the relative performance of Oracle databases -- allowing you to compare various platforms and also DB configuration changes. Since this is a highly multi-threaded test, it simulates the activity coming from the OTM DB connection pool very well.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)<br />
<br />
First, some links you'll need:<blockquote><b>Hammerora</b><br />
<a href="http://hammerora.sourceforge.net/" target="_blank">http://hammerora.sourceforge.net/</a><br />
<br />
<b>Oracle Instant Client (10.2.0.3)</b><br />
<a href="http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html" target="_blank">http://www.oracle.com/technology/tec...antclient.html</a><br />
<br />
<b>Oracle DB (10.2.0.3 Enterprise Edition -- for OTM v5.5)</b><br />
<a href="http://technet.oracle.com/" target="_blank">http://technet.oracle.com/</a><br />
</blockquote>To get started, download and install Hammerora.  Follow their installation instructions and you'll be fine (<a href="http://hammerora.sourceforge.net/installation.htm" target="_blank">http://hammerora.sourceforge.net/installation.htm</a>).  Ensure that you're getting the right binaries (32-bit or 64-bit) for your version of Linux.  <i><font color="Blue">Note:  I wasn't able to get the console installation working, so you may need to install via the GUI (XWindows).</font></i><br />
<br />
Below, I've provided a pre-modified config.xml file for Hammerora - as this sets up many of the default benchmark behaviors that we use, including the number of warehouses (50), number of virtual users (50), wait times (0), number of iterations (2000), etc.  All of these are important for creating reproducible results and being able to compare against our reference performance numbers.  Copy this file into your Hammerora installation directory, overwriting the existing file.<br />
<i>(unzip after downloading)<br />
</i><blockquote>Download: <a href="http://www.otmfaq.com/forums/blogs/%user_name%/attachments/1d1204836615-%blog_title%-a" >config.xml.zip</a><br />
</blockquote>In addition, we've also provided a modified benchmark script (mavenwire_tpcc.trc), based on the TPC-C script provided with Hammerora.  This updated script includes logging of the individual user's runtime, for performance comparison.  Copy this file into your Hammerora installation directory.<br />
(unzip after downloading)<blockquote>Download: <a href="http://www.otmfaq.com/forums/blogs/%user_name%/attachments/2d1204836630-%blog_title%-a" >mavenwire_tpcc.trc.zip</a><br />
</blockquote>Finally, create a tnsnames.ora file under $HAMMERORA_HOME/instantclient_10_2/ for your DB server.  In order to match up with the included configuration files, use a connect string of "HAMMERORA".  Alternately, you can edit the DB connect string parameters (there are several of them), within the Hammerora config.xml and mavenwire_tpcc.trc scripts.<br />
<br />
In order to run the test,  you'll need a database.  Since our interest is in testing Oracle DB performance in relation to OTM, I recommend creating an Oracle 10.2.0.3 database with the same parameters as your PROD OTM database.  For tablespaces, however, you'll only need the following:<br />
<br />
Tablespace: tpcctab<br />
Size: 5GB<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 130px;
		text-align: left;
		overflow: auto">create tablespace tpcctab
logging
datafile '/u01/oradata/hammerora/TPCCTAB01.dbf'
size 5g
autoextend on
next 256m maxsize 10240m
extent management local;</pre>
</div>Temporary Tablespace: TEMP<br />
Size: 2GB<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 114px;
		text-align: left;
		overflow: auto">create temporary tablespace temp
tempfile '/u01/oradata/hammerora/TEMP01.dbf'
size 2g
autoextend on
next 256m maxsize 4096m
extent management local;</pre>
</div>Then, just create a user, via the following commands:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 114px;
		text-align: left;
		overflow: auto">drop user tpcc cascade;
create user tpcc
identified by tpcc
default tablespace tpcctab
temporary tablespace temp;
grant dba to tpcc;</pre>
</div>Now, ensure you've configured your environment variables (as noted on the Hammerora install page) startup Hammerora ("./hammerora.tcl &amp;").  Assuming everything starts up without error, then you'll need to load the TPC-C schema into your database (this may take several hours).  In order to do this, select the "Create TPC Schema" button.  Walk away and have a nice cup of coffee (and maybe catch an episode of MythBusters) until it is complete.  Once it is, check for any errors within the console.<br />
<br />
At this point, shutdown Hammerora and take a backup of your database (cold backup, preferably).  You'll need this, since you should delete and restore your database between each benchmark run.  This is necessary to ensure that you get consistent, repeatable results.<br />
<br />
Now, startup Hammerora again and prepare to run the benchmark.  To run it, do the following:<ol style="list-style-type: decimal"><li>Select "File > Open" and then open the mavenwire_tpcc.trc test file.</li>
<li>Click the "Create Virtual Users" button to instantiate your virtual users.</li>
<li>Begin recording system statistics (sar) and Oracle Sysstats.</li>
<li>Click the "Run Hammerora Loadtest" button to start the actual test.</li>
<li>Wait a while -- depending on the speed of your DB server, this could take several minutes to several hours.</li>
<li>Once all of the users are complete (check the "Complete" and "Status" columns), click the "Destroy Virtual Users" button to flush out the remaining benchmark timings.</li>
<li>Stop recording system statistics (sar) and Oracle Sysstats.</li>
<li>The output from the run will be logged to /tmp/hammerora.log.</li>
</ol>Example Results (from /tmp/hammerora.log):<br />
<font color="Blue"><i>Note: You should clear out this file before each benchmark run.</i></font><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 258px;
		text-align: left;
		overflow: auto"># grep "User execution time" /tmp/hammerora.log
...
tid0x4aa10940:User execution time 1204836463 to 1204836684 = 221 seconds
tid0x5ea30940:User execution time 1204836463 to 1204836684 = 221 seconds
tid0x4e616940:User execution time 1204836463 to 1204836685 = 222 seconds
tid0x41e02940:User execution time 1204836463 to 1204836686 = 223 seconds
tid0x41401940:User execution time 1204836463 to 1204836686 = 223 seconds
tid0x42803940:User execution time 1204836463 to 1204836688 = 225 seconds
tid0x43204940:User execution time 1204836464 to 1204836689 = 225 seconds
tid0x43c05940:User execution time 1204836464 to 1204836689 = 225 seconds
tid0x45a08940:User execution time 1204836466 to 1204836715 = 249 seconds
tid0x44606940:User execution time 1204836466 to 1204836715 = 249 seconds
tid0x4780b940:User execution time 1204836467 to 1204836733 = 266 seconds
tid0x45007940:User execution time 1204836466 to 1204836733 = 267 seconds
...</pre>
</div>To ensure I have solid, repeatable results - I average out all 50 user runtimes to achieve an overall average runtime for the benchmark run.  I then run the full benchmark a total of 3 times (deleting and restoring the DB each time) and calculate the average of all 3 benchmark results to give a final performance number. <br />
<br />
For reference, when running this test on one of our medium-sized Hosting DB servers, the following results were returned:<blockquote>     Run 1 (already averaged):  284.55<br />
    Run 2 (already averaged): 280.14<br />
    Run 3 (already averaged): 291.06<br />
    Final Averaged Result: <b> 285.25</b><br />
<i><font color="Blue">(lower is better)</font></i><br />
</blockquote><b>(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment.  Here are the new benchmark results -- FAST!)</b><blockquote>Run 1 (already averaged): 217.23<br />
    Run 2 (already averaged): 225.84<br />
    Run 3 (already averaged): 219.37<br />
    Final Averaged Result: <b>220.81</b><br />
<i><font color="Blue">(lower is better)</font></i><br />
</blockquote>If you'd like to compare different platforms (say Solaris or HPUX vs. Linux) or databases, just install Hammerora on a central testing box (preferably Linux), configure your tnsnames.ora file and then run the tests and compare the results.<br />
<br />
I hope this helps.<br />
<br />
--Chris<br />
<br />
Other related Posts:<ul><li>Benchmarking (Part 1): Java JVM Performance with VolanoMark<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...olanomark.html</a></li>
</ul></li>
<li>Benchmarking (Part 3): Java JVM Performance with DaCapo<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...ce-dacapo.html</a></li>
</ul></li>
<li>Benchmarking (Part 4): Real-World Network Performance with Soap Stone<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...oap-stone.html</a></li>
</ul></li>
</ul></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=d2T1GmF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=d2T1GmF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=6G18oRF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=6G18oRF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=RwqLvsf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=RwqLvsf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=dmkWFPf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=dmkWFPf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Dwt4uQF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Dwt4uQF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=JuZdXgF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=JuZdXgF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=jkKqYNf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=jkKqYNf" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/246969453" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html</feedburner:origLink></item>
		<item>
			<title>Oracle Cited as the Sole Leader in the TMS market</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/233264807/10-oracle-cited-sole-leader-tms-market.html</link>
			<pubDate>Mon, 11 Feb 2008 17:47:22 GMT</pubDate>
			<description><![CDATA[Hi,
 
I would like to share some great news from the independent report "The Forrester Wave(tm): Transportation Management Solutions, Q1 2008" that has named Oracle (Transportation Management) as the sole leader in the TMS market.
 
Oracle issued a press release about this report that can be found at: http://www.oracle.com/corporate/press/2008_feb/forresterotm.html?rssid=rss_ocom_pr
 
Hope you find this information useful
 
Alejandro B.]]></description>
			<content:encoded><![CDATA[<div>Hi,<br />
 <br />
I would like to share some great news from the independent report &quot;The Forrester Wave(tm): Transportation Management Solutions, Q1 2008&quot; that has named Oracle (Transportation Management) as the sole leader in the TMS market.<br />
 <br />
Oracle issued a press release about this report that can be found at: <a href="http://www.oracle.com/corporate/press/2008_feb/forresterotm.html?rssid=rss_ocom_pr" target="_blank">http://www.oracle.com/corporate/pres...id=rss_ocom_pr</a><br />
 <br />
Hope you find this information useful<br />
 <br />
Alejandro B.</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=EZaXDPE"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=EZaXDPE" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=2yRYrFE"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=2yRYrFE" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=GG5u8de"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=GG5u8de" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=PPl5jce"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=PPl5jce" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=oPHpEeE"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=oPHpEeE" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=a3Dhe9E"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=a3Dhe9E" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=0oFP9Xe"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=0oFP9Xe" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/233264807" height="1" width="1"/>]]></content:encoded>
			<dc:creator>AlejandroBarba</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/alejandrobarba/10-oracle-cited-sole-leader-tms-market.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/alejandrobarba/10-oracle-cited-sole-leader-tms-market.html</feedburner:origLink></item>
		<item>
			<title>Is This The Beginning Of The End?</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/218644444/9-beginning-end.html</link>
			<pubDate>Fri, 18 Jan 2008 04:03:07 GMT</pubDate>
			<description><![CDATA[Its Friday and admist the falling stock prices and sub-prime woes, I just got this new snippet today from a friend and in the email
 
Oracle Buys BEA (http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci1294096,00.html?track=NL-333&ad=620238&asrc=EM_NLN_2912551&uid=3959518)
 
Is Oracle Really The Next Microsoft? (http://www.theregister.co.uk/2008/01/24/oracle_bea_acquisition/)


What a way to end the week! And while this is definately good for BEA shareholders, I am not so sure that this is good for the industry on the whole.
 
How I see it is:
* Competition breeds better products

Without BEA, the major players remaining are Oracle and IBM. Are their competing products better than WebLogic? I may be wrong, but I don't think so.

* Consolidation = Entropy

While the move from disorder to order may seem good, actually there is a 'loss' of positive energy in the application server industry. What happens then could result in an industry 'absolute zero' (http://en.wikipedia.org/wiki/Third_law_of_thermodynamics) sooner than expected and that is not a good thing. Perhaps this is nature and hence inevitable.

* Future of OTM

How this impacts OTM, one can only imagine. Will we benefit from it or suffer the consequences? I am personally not too optimistic but then again I always look at the glass half-full :rolleyes:
What will be the future (http://davidszondy.com/future/futurepast.htm) application server landscape be like? Sunny days ahead or bleak weather. Thoughts and comments please! :)]]></description>
			<content:encoded><![CDATA[<div>Its Friday and admist the falling stock prices and sub-prime woes, I just got this new snippet today from a friend and in the email<br />
 <br />
<div align="center"><a href="http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci1294096,00.html?track=NL-333&amp;ad=620238&amp;asrc=EM_NLN_2912551&amp;uid=3959518" target="_blank">Oracle Buys BEA</a></div> <br />
<div align="center"><a href="http://www.theregister.co.uk/2008/01/24/oracle_bea_acquisition/" target="_blank">Is Oracle Really The Next Microsoft?</a><br />
</div><br />
What a way to end the week! And while this is definately good for BEA shareholders, I am not so sure that this is good for the industry on the whole.<br />
 <br />
How I see it is:<ul><li>Competition breeds better products</li>
</ul><blockquote>Without BEA, the major players remaining are Oracle and IBM. Are their competing products better than WebLogic? I may be wrong, but I don't think so.</blockquote><ul><li>Consolidation = Entropy</li>
</ul><blockquote>While the move from disorder to order may seem good, actually there is a 'loss' of positive energy in the application server industry. What happens then could result in an industry <a href="http://en.wikipedia.org/wiki/Third_law_of_thermodynamics" target="_blank">'absolute zero'</a> sooner than expected and that is not a good thing. Perhaps this is nature and hence inevitable.</blockquote><ul><li>Future of OTM</li>
</ul><blockquote>How this impacts OTM, one can only imagine. Will we benefit from it or suffer the consequences? I am personally not too optimistic but then again I always look at the glass half-full :rolleyes:</blockquote>What will be the <a href="http://davidszondy.com/future/futurepast.htm" target="_blank">future</a> application server landscape be like? Sunny days ahead or bleak weather. Thoughts and comments please! :)</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=ThfiMWD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=ThfiMWD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Eu8jQOD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Eu8jQOD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Z5tds2d"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Z5tds2d" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=pVSbYLd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=pVSbYLd" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=W0cw2JD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=W0cw2JD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=CtujuCD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=CtujuCD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=DtjGkod"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=DtjGkod" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/218644444" height="1" width="1"/>]]></content:encoded>
			<dc:creator>ianlo</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/ianlo/9-beginning-end.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/ianlo/9-beginning-end.html</feedburner:origLink></item>
		<item>
			<title>How to: Screen changes and possibilities (Part 1)</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/217750555/8-how-screen-changes-possibilities-part-1.html</link>
			<pubDate>Wed, 16 Jan 2008 16:09:01 GMT</pubDate>
			<description><![CDATA[I got an invitation to write somethign to a blog. Never did this before, but hey, why not. I found a subject where I got some question to, so let;s use that for a beginning.:cool:
 
As perhaps a lot of you are dealing with this, I get a lot of questions of customers to change a particular screen or to display data on it that is not currently.
 
OTM works with XML and XSL-style sheets (Most likely everybody knows this but I wanted to be complete). If you know how to work with XSL and XML you can do a lot of modification to the screens.
 
Before I proceed a warning is here on the right spot. If you change a style sheet you leave the path of standard application! Support from Oracle will be impossible. I only want to do these things when VPD and all other functionality doesnt provide you the right tools to achieve your goal. *_BARE THIS ALWAYS IN MIND! _*A lot of migration-headaches were started here..
 
But if you made up your mind and decided to head this way, go on and read the story. :eek:
 
Lets go for the track & trace screen of a shipment. I will work with version 5.0 
 
The requirement: The customer wants to see on the track and trace screen on stop/Ship unit ID level the Ship Unit Count. You would have already thought it should be there because the header is there.. Oops, a Oracle bug! That isnt too nice. 5.0 is not supported anymore so we have to fix the bug ourselves! Off we go:
 
I like to make it in two parts. First part is how to find out which xsl-style sheet needs to be modified. If you dont know which style sheet it is you will have a hard time.
 
From the shipment query result screen: select Always open in new window to get the track & trace screen in a new window. Do the smart link of a shipment Track and Trace.
 
When this screen is complete on your screen and you have the address-bar of the explorer, you will see the complete URL. Go to the end of that URL and add to that &debug=Y (of course without the quotes ;)). Hit the enter button atfter that so the page will reload.
 
Now you will get a page with the XML message as it is processed. On line 2 you see already which style sheet is used for parsing this XML. In this case TrackAndTraceResults.xsl in directory giiv. That wasnt too hard.
 
I always copy the complete XML to a local file, because I need this file later on to determine where the data is or if the data is available to display.
 
On your web-server you will find this style sheet. Download it so you are able to work with it.
 
Next time I will tell a bit more how to change it etc. What a cliff hanger.....
 
Bob Romijn
]]></description>
			<content:encoded><![CDATA[<div><font face="Times New Roman"><font size="3">I got an invitation to write somethign to a blog. Never did this before, but hey, why not. I found a subject where I got some question to, so let;s use that for a beginning.:cool:</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">As perhaps a lot of you are dealing with this, I get a lot of questions of customers to change a particular screen or to display data on it that is not currently.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">OTM works with XML and XSL-style sheets (Most likely everybody knows this but I wanted to be complete). If you know how to work with XSL and XML you can do a lot of modification to the screens.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Before I proceed a warning is here on the right spot. If you change a style sheet you leave the path of standard application! Support from Oracle will be impossible. I only want to do these things when VPD and all other functionality doesnt provide you the right tools to achieve your goal. <b><u>BARE THIS ALWAYS IN MIND! </u></b>A lot of migration-headaches were started here..</font></font><br />
 <br />
<font size="3"><font face="Times New Roman">But if you made up your mind and decided to head this way, go on and read the story. </font><font face="Wingdings"><font face="Wingdings">:eek:</font></font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Lets go for the track &amp; trace screen of a shipment. I will work with version 5.0 </font></font><br />
 <br />
<font face="Times New Roman"><font size="3">The requirement: The customer wants to see on the track and trace screen on stop/Ship unit ID level the Ship Unit Count. You would have already thought it should be there because the header is there.. Oops, a Oracle bug! That isnt too nice. 5.0 is not supported anymore so we have to fix the bug ourselves! Off we go:</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">I like to make it in two parts. First part is how to find out which xsl-style sheet needs to be modified. If you dont know which style sheet it is you will have a hard time.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">From the shipment query result screen: select Always open in new window to get the track &amp; trace screen in a new window. Do the smart link of a shipment Track and Trace.</font></font><br />
 <br />
<font size="3"><font face="Times New Roman">When this screen is complete on your screen and you have the address-bar of the explorer, you will see the complete URL. Go to the end of that URL and add to that &amp;debug=Y (of course without the quotes </font><font face="Wingdings"><font face="Wingdings">;)</font></font><font face="Times New Roman">). Hit the enter button atfter that so the page will reload.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Now you will get a page with the XML message as it is processed. On line 2 you see already which style sheet is used for parsing this XML. In this case TrackAndTraceResults.xsl in directory giiv. That wasnt too hard.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">I always copy the complete XML to a local file, because I need this file later on to determine where the data is or if the data is available to display.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">On your web-server you will find this style sheet. Download it so you are able to work with it.</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Next time I will tell a bit more how to change it etc. What a cliff hanger.....</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Bob Romijn</font></font><br />
</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=gGweeqD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=gGweeqD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=JGxomZD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=JGxomZD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=WwFpWmd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=WwFpWmd" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=EET2P5d"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=EET2P5d" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=xrsvn2D"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=xrsvn2D" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=LhNlGOD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=LhNlGOD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=59fnEJd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=59fnEJd" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/217750555" height="1" width="1"/>]]></content:encoded>
			<dc:creator>bob_romijn</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/bob_romijn/8-how-screen-changes-possibilities-part-1.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/bob_romijn/8-how-screen-changes-possibilities-part-1.html</feedburner:origLink></item>
		<item>
			<title>China Crisis (1)</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/213563591/7-china-crisis-1.html</link>
			<pubDate>Wed, 09 Jan 2008 03:15:05 GMT</pubDate>
			<description><![CDATA[Remember "Black Man Rain", "Wishful Thinking" ? Ahh.. if you do, then you probably know my age!

I still like those tunes and it took a while but I was surprised that you can still get it of the Internet - including the music videos ! But I digress...

This year will be a challenging year for me as an OTMer. And from the title, you might have guessed, OTM in the Far East!

I recently just completed a rollout in China for a high tech customer (who isn't in China ya?). The rollout itself was surprisingly smooth and my hats off O0 to those at EII and Mavenwire for helping  You guys rock!

The project is a multi-domain, multi-site, single leg direct shipment implementation with <insert curses> partial tendering </insert curses> and single shipment - multiple equipment model.

We had our fair share of surprises and challenges - but I will share more of that in the next post!

What really caught my surprise and I think its a premonition of things to come was this photo:

Image: http://img264.imageshack.us/img264/4721/img014ip0.th.jpg  (http://img264.imageshack.us/my.php?image=img014ip0.jpg)

Its big but I need you to look closely.. the towhead is parked 90 degrees to the trailer AGAINST the dock. This is so that the 40" trailer can load 20" containers with doors opening on both sides :eek:

Boy am I going to have a China Crisis on my hand modeling operations like this in OTM!]]></description>
			<content:encoded><![CDATA[<div>Remember &quot;Black Man Rain&quot;, &quot;Wishful Thinking&quot; ? Ahh.. if you do, then you probably know my age!<br />
<br />
I still like those tunes and it took a while but I was surprised that you can still get it of the Internet - including the music videos ! But I digress...<br />
<br />
This year will be a challenging year for me as an OTMer. And from the title, you might have guessed, OTM in the Far East!<br />
<br />
I recently just completed a rollout in China for a high tech customer (who isn't in China ya?). The rollout itself was surprisingly smooth and my hats off O0 to those at EII and Mavenwire for helping  You guys rock!<br />
<br />
The project is a multi-domain, multi-site, single leg direct shipment implementation with &lt;insert curses&gt; partial tendering &lt;/insert curses&gt; and single shipment - multiple equipment model.<br />
<br />
We had our fair share of surprises and challenges - but I will share more of that in the next post!<br />
<br />
What really caught my surprise and I think its a premonition of things to come was this photo:<br />
<br />
<a href="http://img264.imageshack.us/my.php?image=img014ip0.jpg" target="_blank"><img src="http://img264.imageshack.us/img264/4721/img014ip0.th.jpg" border="0" alt="" /></a><br />
<br />
Its big but I need you to look closely.. the towhead is parked 90 degrees to the trailer AGAINST the dock. This is so that the 40&quot; trailer can load 20&quot; containers with doors opening on both sides :eek:<br />
<br />
Boy am I going to have a China Crisis on my hand modeling operations like this in OTM!</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=uMw6LFD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=uMw6LFD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=RB64vvD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=RB64vvD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=glNfG5d"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=glNfG5d" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=bvlweVd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=bvlweVd" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=3VCnFSD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=3VCnFSD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=b9fVLoD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=b9fVLoD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=cLDDCjd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=cLDDCjd" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/213563591" height="1" width="1"/>]]></content:encoded>
			<dc:creator>ianlo</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/ianlo/7-china-crisis-1.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/ianlo/7-china-crisis-1.html</feedburner:origLink></item>
		<item>
			<title>Benchmarking (Part 1): Java JVM Performance with VolanoMark</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/246614244/6-benchmarking-part-1-java-jvm-performance-volanomark.html</link>
			<pubDate>Wed, 09 Jan 2008 00:50:37 GMT</pubDate>
			<description><![CDATA[Hello!

I wanted to give a quick tutorial on how to benchmark JVM performance with VolanoMark.  This is a great benchmark for determining the relative performance of different Java JVMs on various platforms.  Also, since this is a highly multi-threaded test, it gives a good indication of relative OTM performance.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)

First, some links you'll need:*VolanoMark*
http://www.volano.com/benchmarks.html

*BEA JRockit JVM*
http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp

*Sun Java JVM*
http://java.sun.com/javase/downloads/

*HP Java JVM*
http://www.hp.com/java/

*IBM Java JVM*
http://www.ibm.com/developerworks/java/

To get started, download and install VolanoMark, then download the JVMs that you'd like to test.  Keep in mind that OTM v5.0 and up uses Java 1.4.x.  For our tests here, I'm going to benchmark JRockit 1.4.2_12.

Go ahead and install VolanoMark to /opt/benchmarks/volanomark:

Code:
---------
[benchmark@perftest01 volanomark]# export CLASSPATH=.
[benchmark@perftest01 volanomark]# java vmark2_5_0_9 -o /opt/benchmarks/volanomark
InstallShield Java (TM) Edition
Extracting installation code..............................done
99%..               
Extracted 34 files into 10 directories.
Installation is complete.
---------
Now install your JDKs, per the directions given for each.  After installing, I like to copy each one under the benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers.  For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12.

Next, edit /opt/benchmarks/volanomark/startup.sh.  Under the platform that matches your system, add a section that lists the parameters for your installed JDK(s).  For instance, on Linux, I'll edit it to look as follows.  The bold sections have been added and I've omitted the section between the "..." marks for brevity:

Code:
---------
#***********************************************************************
# Red Hat Enterprise Linux
# Usage: linux loop|net *otm-jrockit-142_12*
#                        bea81|blackdown13|blackdown14|ibm13|ibm14|
#                       sun13|sun14
#***********************************************************************
linux () {
    # Set a 2MB maximum stack size to avoid this bug:
    # http://developer.java.sun.com/developer/bugParade/bugs/4466587.html
    ulimit -Ss 2048
    if [ "$1" = "loop" ]
    then
        ulimit -Sn 1024
    else
        ulimit -Sn 10240
    fi
    for file in lib/*.jar; do classpath="$classpath:$file"; done
    case $2 in
*        otm-jrockit-142_12)
            java=/opt/jrockit142_12/bin/java
            options="-jrockit -Xms256m -Xmx256m -Xgcprio:throughput -Xverbose:memory"
            ;;
*        bea81)
...
... 
       *)
            echo "Vendor choice is *otm-jrockit-142_12,* bea81, blackdown13, blackdown14, ibm13, ibm14, sun13, or sun14."
            exit
            ;;
    esac
}
---------
Now that the installation and configuration are complete, let's run some tests!

Open up two terminal sessions into your server.  In the first one, run the server portion of the benchmark:

Code:
---------
[benchmark@perftest01 volanomark]# ./startup.sh server loop otm-jrockit-142_12
---------
Now in the second terminal session, run the client portion of the benchmark:

Code:
---------
[benchmark@perftest01 volanomark]# ./startup.sh client loop otm-jrockit-142_12
---------
The benchmark will take anywhere from 5-10 minutes to run.  Once it is complete, record the "Average throughput" for each subtest within the benchmark (4 in total).  These results are recorded within logfiles in the installation directory, named test-1.log, test-2.log, test-3.log and test-4.log.

Example Results:

Code:
---------
java.vendor        = BEA Systems, Inc.
java.vendor.url    = http://www.bea.com/
java.version       = 1.4.2_12
java.class.version = 48.0
java.compiler      = null
os.name            = Linux
os.version         = 2.6.9-67.0.1.ELsmp
os.arch            = i386

VolanoMark version = 2.5.0.9
Messages sent      = 20000
Messages received  = 380000
Total messages     = 400000
Elapsed time       = 3.006 seconds
*Average throughput = 133067 messages per second*
---------
To ensure I have solid, repeatable results - I run the benchmark 3 times and average out all 12 "Average throughput" results to give a final performance number.  If the calculation returns a decimal result, then I round down to the nearest whole number.  For instance, when running this test on one of our older Hosting servers, the following results were returned: Run 1:  133067, 134726, 125589, 120048
Run 2: 129786, 130421, 137127, 135089
Run 3: 125196, 133333, 137599, 134293
Averaged Result: *131356*
(higher is better)

*(Update 20080209: We just received some new servers into our Hosting environment and I couldn't help benchmarking them.  WOW!  These are the fastest servers I've seen so far for running Java and OTM!*)Run 1: 243309, 220629, 214247, 246457
Run 2: 242102, 226244, 215633, 235156
Run 3: 259909, 245248, 218103, 245145
Averaged Result: *234348*
(higher is better)

*(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment. Here are the new benchmark results -- FAST!)* Run 1: 333323, 319922, 319922, 328282
Run 2: 332893, 311982, 301123, 321231
Run 3: 322934, 322342, 301828, 322234
Averaged Result: *319848.08*
(higher is better)

In order to test multiple servers that run the same OS, you just need to tar up the VolanoMark installation directory, transfer to the new server, extract and then run the tests -- simple!

If you'd like to compare different platforms (say Solaris vs. Linux), just install VolanoMark on each server, then download the appropriate Java JVMs for each platform and configure VolanoMark to use them.  Run the tests and compare the results.  That's the beauty of Java benchmarks - cross-platform testing is a breeze!

I hope this helps.

--Chris

Other related Posts:
* Benchmarking (Part 2): Oracle DB Performance with Hammerora
  * http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html
* Benchmarking (Part 3): Java JVM Performance with DaCapo
  * http://www.otmfaq.com/forums/blogs/c...ce-dacapo.html (http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html)
* Benchmarking (Part 4): Real-World Network Performance with Soap Stone
  * http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html

]]></description>
			<content:encoded><![CDATA[<div>Hello!<br />
<br />
I wanted to give a quick tutorial on how to benchmark JVM performance with VolanoMark.  This is a great benchmark for determining the relative performance of different Java JVMs on various platforms.  Also, since this is a highly multi-threaded test, it gives a good indication of relative OTM performance.  Best of all, it fits into the MavenWire Benchmark Toolkit, because it works well.  As an added bonus for the community - it's free! :)<br />
<br />
First, some links you'll need:<blockquote><b>VolanoMark</b><br />
<a href="http://www.volano.com/benchmarks.html" target="_blank">http://www.volano.com/benchmarks.html</a><br />
<br />
<b>BEA JRockit JVM</b><br />
<a href="http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp" target="_blank">http://commerce.bea.com/products/web...t_prod_fam.jsp</a><br />
<br />
<b>Sun Java JVM</b><br />
<a href="http://java.sun.com/javase/downloads/" target="_blank">http://java.sun.com/javase/downloads/</a><br />
<br />
<b>HP Java JVM</b><br />
<a href="http://www.hp.com/java/" target="_blank">http://www.hp.com/java/</a><br />
<br />
<b>IBM Java JVM</b><br />
<a href="http://www.ibm.com/developerworks/java/" target="_blank">http://www.ibm.com/developerworks/java/</a><br />
</blockquote>To get started, download and install VolanoMark, then download the JVMs that you'd like to test.  Keep in mind that OTM v5.0 and up uses Java 1.4.x.  For our tests here, I'm going to benchmark JRockit 1.4.2_12.<br />
<br />
Go ahead and install VolanoMark to /opt/benchmarks/volanomark:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 130px;
		text-align: left;
		overflow: auto">[benchmark@perftest01 volanomark]# export CLASSPATH=.
[benchmark@perftest01 volanomark]# java vmark2_5_0_9 -o /opt/benchmarks/volanomark
InstallShield Java (TM) Edition
Extracting installation code..............................done
99%..               
Extracted 34 files into 10 directories.
Installation is complete.</pre>
</div>Now install your JDKs, per the directions given for each.  After installing, I like to copy each one under the benchmarks directory, so that I have everything in one place and can easily tar it up and move it to other servers.  For instance, I'd copy JRockit into /opt/benchmarks/jrockit1.4.2_12.<br />
<br />
Next, edit /opt/benchmarks/volanomark/startup.sh.  Under the platform that matches your system, add a section that lists the parameters for your installed JDK(s).  For instance, on Linux, I'll edit it to look as follows.  The bold sections have been added and I've omitted the section between the "..." marks for brevity:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 498px;
		text-align: left;
		overflow: auto">#***********************************************************************
# Red Hat Enterprise Linux
# Usage: linux loop|net <b>otm-jrockit-142_12</b>
#                        bea81|blackdown13|blackdown14|ibm13|ibm14|
#                       sun13|sun14
#***********************************************************************
linux () {
    # Set a 2MB maximum stack size to avoid this bug:
    # http://developer.java.sun.com/developer/bugParade/bugs/4466587.html
    ulimit -Ss 2048
    if [ "$1" = "loop" ]
    then
        ulimit -Sn 1024
    else
        ulimit -Sn 10240
    fi
    for file in lib/*.jar; do classpath="$classpath:$file"; done
    case $2 in
<b>        otm-jrockit-142_12)
            java=/opt/jrockit142_12/bin/java
            options="-jrockit -Xms256m -Xmx256m -Xgcprio:throughput -Xverbose:memory"
            ;;
</b>        bea81)
...
... 
       *)
            echo "Vendor choice is <b>otm-jrockit-142_12,</b> bea81, blackdown13, blackdown14, ibm13, ibm14, sun13, or sun14."
            exit
            ;;
    esac
}</pre>
</div>Now that the installation and configuration are complete, let's run some tests!<br />
<br />
Open up two terminal sessions into your server.  In the first one, run the server portion of the benchmark:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 34px;
		text-align: left;
		overflow: auto">[benchmark@perftest01 volanomark]# ./startup.sh server loop otm-jrockit-142_12</pre>
</div>Now in the second terminal session, run the client portion of the benchmark:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 34px;
		text-align: left;
		overflow: auto">[benchmark@perftest01 volanomark]# ./startup.sh client loop otm-jrockit-142_12</pre>
</div>The benchmark will take anywhere from 5-10 minutes to run.  Once it is complete, record the "Average throughput" for each subtest within the benchmark (4 in total).  These results are recorded within logfiles in the installation directory, named test-1.log, test-2.log, test-3.log and test-4.log.<br />
<br />
Example Results:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="alt2" dir="ltr" style="
		margin: 0px;
		padding: 0px;
		border: 1px inset;
		width: 640px;
		height: 258px;
		text-align: left;
		overflow: auto">java.vendor        = BEA Systems, Inc.
java.vendor.url    = http://www.bea.com/
java.version       = 1.4.2_12
java.class.version = 48.0
java.compiler      = null
os.name            = Linux
os.version         = 2.6.9-67.0.1.ELsmp
os.arch            = i386

VolanoMark version = 2.5.0.9
Messages sent      = 20000
Messages received  = 380000
Total messages     = 400000
Elapsed time       = 3.006 seconds
<b>Average throughput = 133067 messages per second</b></pre>
</div>To ensure I have solid, repeatable results - I run the benchmark 3 times and average out all 12 "Average throughput" results to give a final performance number.  If the calculation returns a decimal result, then I round down to the nearest whole number.  For instance, when running this test on one of our older Hosting servers, the following results were returned:<blockquote> Run 1:  133067, 134726, 125589, 120048<br />
Run 2: 129786, 130421, 137127, 135089<br />
Run 3: 125196, 133333, 137599, 134293<br />
Averaged Result: <b>131356</b><br />
<font color="Blue"><i>(higher is better)</i></font><br />
</blockquote><b>(Update 20080209: We just received some new servers into our Hosting environment and I couldn't help benchmarking them.  WOW!  These are the fastest servers I've seen so far for running Java and OTM!</b>)<blockquote>Run 1: 243309, 220629, 214247, 246457<br />
Run 2: 242102, 226244, 215633, 235156<br />
Run 3: 259909, 245248, 218103, 245145<br />
Averaged Result: <b>234348</b><br />
<font color="Blue"><i>(higher is better)</i></font><br />
</blockquote><b>(Update 20080422: Just got some new servers [i.e. expensive toys] into our Hosting environment. Here are the new benchmark results -- FAST!)</b><blockquote> Run 1: 333323, 319922, 319922, 328282<br />
Run 2: 332893, 311982, 301123, 321231<br />
Run 3: 322934, 322342, 301828, 322234<br />
Averaged Result: <b>319848.08</b><br />
<font color="Blue"><i>(higher is better)</i></font><br />
</blockquote>In order to test multiple servers that run the same OS, you just need to tar up the VolanoMark installation directory, transfer to the new server, extract and then run the tests -- simple!<br />
<br />
If you'd like to compare different platforms (say Solaris vs. Linux), just install VolanoMark on each server, then download the appropriate Java JVMs for each platform and configure VolanoMark to use them.  Run the tests and compare the results.  That's the beauty of Java benchmarks - cross-platform testing is a breeze!<br />
<br />
I hope this helps.<br />
<br />
--Chris<br />
<br />
Other related Posts:<ul><li>Benchmarking (Part 2): Oracle DB Performance with Hammerora<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/11-benchmarking-part-2-oracle-db-performance-hammerora.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...hammerora.html</a></li>
</ul></li>
<li>Benchmarking (Part 3): Java JVM Performance with DaCapo<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/12-benchmarking-part-3-java-jvm-performance-dacapo.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...ce-dacapo.html</a></li>
</ul></li>
<li>Benchmarking (Part 4): Real-World Network Performance with Soap Stone<ul><li><a href="http://www.otmfaq.com/forums/blogs/chrisplough/13-benchmarking-part-4-real-world-network-performance-soap-stone.html" target="_blank">http://www.otmfaq.com/forums/blogs/c...oap-stone.html</a></li>
</ul></li>
</ul></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Eb5SiuF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Eb5SiuF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=YumzJZF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=YumzJZF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=JdBMWVf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=JdBMWVf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=PmRz9Rf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=PmRz9Rf" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=XbDGFKF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=XbDGFKF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=e3MixmF"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=e3MixmF" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=ZfdsAdf"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=ZfdsAdf" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/246614244" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/6-benchmarking-part-1-java-jvm-performance-volanomark.html</feedburner:origLink></item>
		<item>
			<title>Internet Explorer Functionalities</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/211234713/5-internet-explorer-functionalities.html</link>
			<pubDate>Fri, 04 Jan 2008 15:41:06 GMT</pubDate>
			<description><![CDATA[I decided to start my first blog by describing some elementary functionalities within Internet Explorer that can be very useful while working with OTM. 
* Left clicking an OTM Menu Option + Shift key: It will open a new window displaying only the Screen Set for the selected menu option
* Left clicking an OTM Menu Option + Control key: Similar to the previous instruction but it will open a new tab in Internet Explorer 7.0 displaying only the Screen Set for the selected menu option.
* Control Key + "N": It will open a new OTM session. But be careful since it will be linked to the previous session so changes to the user (as user role or signing out) will affect the other session
* F11: Toggle between Full-Window and Normal Window views
* F5: It will take you back to the OTM Welcoming Screen
* Control Key + TAB: to switch between Tabs in the same Internet Explorer window
* Control Key + [Tab number 1-9]: to switch to a particular Tab in the same Internet Explorer window
* Control Key + "+": Zoom In
* Control Key + "-": Zoom Out

Finally, please avoid editing anything while viewing or editing the same kind of element in a different OTM session or window in the same computer. It can mix the GIDs and XIDs in the database which can be a pain to solve, believe me, I have gone through it before. ;)
 
Hope this is useful, 
 
Alejandro B.]]></description>
			<content:encoded><![CDATA[<div><font face="Times New Roman"><font size="3">I decided to start my first blog by describing some elementary functionalities within Internet Explorer that can be very useful while working with OTM. </font></font><ul><li><div align="left"><font face="Times New Roman"><font size="3">Left clicking an OTM Menu Option + Shift key: </font></font><font face="Times New Roman"><font size="3">It will open a new window displaying only the Screen Set for the selected menu option</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Left clicking an OTM Menu Option + Control key: </font></font><font face="Times New Roman"><font size="3">Similar to the previous instruction but it will open a new tab in Internet Explorer 7.0 displaying only the Screen Set for the selected menu option. </font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Control Key + &quot;N&quot;: </font></font><font face="Times New Roman"><font size="3">It will open a new OTM session. But be careful since it will be linked to the previous session so changes to the user (as user role or signing out) will affect the other session</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">F11: </font></font><font face="Times New Roman"><font size="3">Toggle between Full-Window and Normal Window views</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">F5: </font></font><font face="Times New Roman"><font size="3">It will take you back to the OTM Welcoming Screen</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Control Key + TAB: </font></font><font face="Times New Roman"><font size="3">to switch between Tabs in the same Internet Explorer window</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Control Key + [Tab number 1-9]: </font></font><font face="Times New Roman"><font size="3">to switch to a particular Tab in the same Internet Explorer window</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Control Key + &quot;+&quot;: </font></font><font face="Times New Roman"><font size="3">Zoom In</font></font></div></li>
<li><div align="left"><font face="Times New Roman"><font size="3">Control Key + &quot;-&quot;: </font></font><font face="Times New Roman"><font size="3">Zoom Out</font></font></div></li>
</ul><font face="Times New Roman"><font size="3">Finally, please avoid editing anything while viewing or editing the same kind of element in a different OTM session or window in the same computer. It can mix the GIDs and XIDs in the database which can be a pain to solve, believe me, I have gone through it before. ;)</font></font><br />
 <br />
<font face="Times New Roman"><font size="3">Hope this is useful,</font></font> <br />
 <br />
<font face="Times New Roman"><font size="3">Alejandro B.</font></font></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=ADRUsMD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=ADRUsMD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Q8oELVD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Q8oELVD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=cutWI1d"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=cutWI1d" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=7MAeJdd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=7MAeJdd" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=zkMyOhD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=zkMyOhD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=e8AcSuD"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=e8AcSuD" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Y9S5nYd"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Y9S5nYd" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/211234713" height="1" width="1"/>]]></content:encoded>
			<dc:creator>AlejandroBarba</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/alejandrobarba/5-internet-explorer-functionalities.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/alejandrobarba/5-internet-explorer-functionalities.html</feedburner:origLink></item>
		<item>
			<title>Life As An OTMer</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/207360111/4-life-otmer.html</link>
			<pubDate>Fri, 28 Dec 2007 04:08:45 GMT</pubDate>
			<description><![CDATA[Is this another blog with another needless rant? That's what I asked myself every time my friends ask me to visit their blogs or even to create one.

Blogs are a funny thing, a true invention of the Internet generation where much of the knowledge gathered in the 20th century is put on the Internet - accessible to all - including many personal thoughts, views, rants and all kinds of words. 

When Chris invited me to write on this blog - I initially was skeptical as I always resisted creating a blog.  But life as an OTMer was not always smooth - as some of you may know.

But the challenges of managing OTM sometimes go beyond you and thats why I decided to start this blog.  

I realised that it would be a Good Thing (TM) to be able to share experiences, yes even rant about all things OTM in the valiant effort to help one another.  

I intend to use this blog to share my experiences, challenges as well as lessons learnt and maybe even a tip or two about how to live life as an OTMer and not have your hair fall off before 30! :rolleyes:

Since youre not only obviously incredibly good looking but also exceptionally smart and have more hair than me, so please share with me your input about what I say here plus any insights you might have. 

Thanks for reading this and I hope youll return in the future. Please subscribe to the feed! 

May you live a full and meaningful life as an OTMer!

Btw if you are wondering what the caption says on the picture of Jim and Dr Bones, it says:
*"Damm it Jim, Its Dead!"*

]]></description>
			<content:encoded><![CDATA[<div>Is this another blog with another needless rant? That's what I asked myself every time my friends ask me to visit their blogs or even to create one.<br />
<br />
Blogs are a funny thing, a true invention of the Internet generation where much of the knowledge gathered in the 20th century is put on the Internet - accessible to all - including many personal thoughts, views, rants and all kinds of words. <br />
<br />
When Chris invited me to write on this blog - I initially was skeptical as I always resisted creating a blog.  But life as an OTMer was not always smooth - as some of you may know.<br />
<br />
But the challenges of managing OTM sometimes go beyond you and thats why I decided to start this blog.  <br />
<br />
I realised that it would be a Good Thing (TM) to be able to share experiences, yes even rant about all things OTM in the valiant effort to help one another.  <br />
<br />
I intend to use this blog to share my experiences, challenges as well as lessons learnt and maybe even a tip or two about how to live life as an OTMer and not have your hair fall off before 30! :rolleyes:<br />
<br />
Since youre not only obviously incredibly good looking but also exceptionally smart and have more hair than me, so please share with me your input about what I say here plus any insights you might have. <br />
<br />
Thanks for reading this and I hope youll return in the future. Please subscribe to the feed! <br />
<br />
May you live a full and meaningful life as an OTMer!<br />
<br />
Btw if you are wondering what the caption says on the picture of Jim and Dr Bones, it says:<br />
<div align="center"><b>&quot;Damm it Jim, Its Dead!&quot;</b><br />
</div></div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=pycYGiC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=pycYGiC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=KXxNNUC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=KXxNNUC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=AUlNcdc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=AUlNcdc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=6utC8Bc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=6utC8Bc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=REJ25XC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=REJ25XC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=Yvz9JkC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=Yvz9JkC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=L6gzvnc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=L6gzvnc" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/207360111" height="1" width="1"/>]]></content:encoded>
			<dc:creator>ianlo</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/ianlo/4-life-otmer.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/ianlo/4-life-otmer.html</feedburner:origLink></item>
		<item>
			<title>BEA WebLogic vs. Oracle OAS with OTM (G-Log)</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/202393362/2-bea-weblogic-vs-oracle-oas-otm-g-log.html</link>
			<pubDate>Tue, 18 Dec 2007 18:57:28 GMT</pubDate>
			<description><![CDATA[When working with many of our Oracle OTM clients, the question inevitably comes up: "Which platform should I choose for OTM - WebLogic or OAS?" (WebSphere is rarely mentioned).

From my perspective, here's what it comes down to this:

*BEA WebLogic
*    Pros:
* Highest performance platform for OTM, when combined with JRockit (Linux / Win32)
* Supported for 8 years - OTM (GC3) was developed on this platform
* Production proven by nearly every OTM / GC3 client
* Well known by Oracle OTM support and development staff

Cons;
* Additional licensing / support required with a 3rd party
* Uncertain future with OTM
* Uncertain future of BEA as a company

*Oracle OAS
*    Pros:
* Licensing / support comes bundled with the Oracle OTM offering
* Will be the preferred platform for OTM in the future
* The future of Oracle appears stable

Cons:
* Lower performance, due to lack of JRockit support
* Not production proven
* Has only been supported for 1 year
* A new technology for Oracle OTM support and development staff

So - given the pros and cons, I feel it's an easy decision for any company that plans to use OTM in production.  Since OTM is critical to their businesses (if it doesn't work - nothing ships), the most proven and best performing platforms wins - WebLogic.

However, this is clouded by the possibility that BEA will be acquired by either Oracle or another party.  For my money, the result remains the same.  I've only had to call BEA support a handful of times, since GC3 first became a product; mostly I just require the installation files, a valid license file and away we go!  The OTM installer configures WebLogic, so no expertise is required there.  When running OTM, the furthest I delve into WebLogic anymore, is the WebLogic Console, which shows thread information, work queues, garbage collection graphs and some fine details about JRockit.

Of course, all of this will change in time; after all - which is Oracle going to invest more energy in?  OAS will become more widely supported and will be proven in production.  OTM will support newer versions of the Java JDK, which closes some of the performance gaps between the Sun JDK and JRockit.  OTM will begin to leverage the OAS clustering technology, which may (note: remains to be seen) perform better than the current implementation.  And all of the Oracle support and development teams will become more familiar with OTM on OAS - lending to quicker issue resolution.  In the time between now and then, however, you can spend a considerable amount of money on downtime, issue resolution, consulting fees and performance tuning with OAS.  To me, it makes sense to leverage WebLogic now and plan on swapping over to OAS, when it's ready.

When making the choice for yourself, take these questions into account:
1. What platform am I willing to bet my business on?
2. Do I understand the full costs involved, both immediate (licensing / support) and longer term (issue resolution, downtime, performance tuning, consultants, etc.)?
3. Do I have test cases and automated performance tests, so that I can compare the platforms prior to go-live?
4. Do I plan to leverage OTM v6.0 or v6.5 when they are released?  If so, can I change application servers them?

What are your thoughts?

--Chris]]></description>
			<content:encoded><![CDATA[<div>When working with many of our Oracle OTM clients, the question inevitably comes up: "Which platform should I choose for OTM - WebLogic or OAS?" (WebSphere is rarely mentioned).<br />
<br />
From my perspective, here's what it comes down to this:<br />
<br />
<b>BEA WebLogic<br />
</b>    Pros:<ul><li>Highest performance platform for OTM, when combined with JRockit (Linux / Win32)</li>
<li>Supported for 8 years - OTM (GC3) was developed on this platform</li>
<li>Production proven by nearly every OTM / GC3 client</li>
<li>Well known by Oracle OTM support and development staff</li>
</ul>Cons;<ul><li>Additional licensing / support required with a 3rd party</li>
<li>Uncertain future with OTM</li>
<li>Uncertain future of BEA as a company</li>
</ul><b>Oracle OAS<br />
</b>    Pros:<ul><li>Licensing / support comes bundled with the Oracle OTM offering</li>
<li>Will be the preferred platform for OTM in the future</li>
<li>The future of Oracle appears stable</li>
</ul>Cons:<ul><li>Lower performance, due to lack of JRockit support</li>
<li>Not production proven</li>
<li>Has only been supported for 1 year</li>
<li>A new technology for Oracle OTM support and development staff</li>
</ul>So - given the pros and cons, I feel it's an easy decision for any company that plans to use OTM in production.  Since OTM is critical to their businesses (if it doesn't work - nothing ships), the most proven and best performing platforms wins - WebLogic.<br />
<br />
However, this is clouded by the possibility that BEA will be acquired by either Oracle or another party.  For my money, the result remains the same.  I've only had to call BEA support a handful of times, since GC3 first became a product; mostly I just require the installation files, a valid license file and away we go!  The OTM installer configures WebLogic, so no expertise is required there.  When running OTM, the furthest I delve into WebLogic anymore, is the WebLogic Console, which shows thread information, work queues, garbage collection graphs and some fine details about JRockit.<br />
<br />
Of course, all of this will change in time; after all - which is Oracle going to invest more energy in?  OAS will become more widely supported and will be proven in production.  OTM will support newer versions of the Java JDK, which closes some of the performance gaps between the Sun JDK and JRockit.  OTM will begin to leverage the OAS clustering technology, which may (note: remains to be seen) perform better than the current implementation.  And all of the Oracle support and development teams will become more familiar with OTM on OAS - lending to quicker issue resolution.  In the time between now and then, however, you can spend a considerable amount of money on downtime, issue resolution, consulting fees and performance tuning with OAS.  To me, it makes sense to leverage WebLogic now and plan on swapping over to OAS, when it's ready.<br />
<br />
When making the choice for yourself, take these questions into account:<ol style="list-style-type: decimal"><li>What platform am I willing to bet my business on?</li>
<li>Do I understand the full costs involved, both immediate (licensing / support) and longer term (issue resolution, downtime, performance tuning, consultants, etc.)?</li>
<li>Do I have test cases and automated performance tests, so that I can compare the platforms prior to go-live?</li>
<li>Do I plan to leverage OTM v6.0 or v6.5 when they are released?  If so, can I change application servers them?</li>
</ol>What are your thoughts?<br />
<br />
--Chris</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=OUFiRFC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=OUFiRFC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=5c88zdC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=5c88zdC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=lU4gDLc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=lU4gDLc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=I0pz9Mc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=I0pz9Mc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=1f1WQHC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=1f1WQHC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=DgpCiVC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=DgpCiVC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=R1bJMCc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=R1bJMCc" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/202393362" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/2-bea-weblogic-vs-oracle-oas-otm-g-log.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/2-bea-weblogic-vs-oracle-oas-otm-g-log.html</feedburner:origLink></item>
		<item>
			<title>Welcome to the OTMFAQ Community Blogs</title>
			<link>http://feeds.otmfaq.com/~r/otmfaq/blogs/~3/197755654/1-welcome-otmfaq-community-blogs.html</link>
			<pubDate>Fri, 14 Sep 2007 19:05:09 GMT</pubDate>
			<description><![CDATA[Hello!

We've just expanded the OTMFAQ site to include Community Blogs!  

Our goal is to provide a better method for sharing OTM / Industry news, expert tips and editorial opinions.

Initially we're inviting highly-active members of the OTMFAQ Forums and OTM SIG, but are looking for anyone who can provide news and opinions that will benefit our Community as a whole.

If you're interested in participating, please send me a PM on this site or drop me an email.  

Thanks!
--Chris]]></description>
			<content:encoded><![CDATA[<div>Hello!<br />
<br />
We've just expanded the OTMFAQ site to include Community Blogs!  <br />
<br />
Our goal is to provide a better method for sharing OTM / Industry news, expert tips and editorial opinions.<br />
<br />
Initially we're inviting highly-active members of the OTMFAQ Forums and OTM SIG, but are looking for anyone who can provide news and opinions that will benefit our Community as a whole.<br />
<br />
If you're interested in participating, please send me a PM on this site or drop me an email.  <br />
<br />
Thanks!<br />
--Chris</div>

<div class="feedflare">
<a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=E9B2QSC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=E9B2QSC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=TEleAOC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=TEleAOC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=GIkQ9Fc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=GIkQ9Fc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=dduUkkc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=dduUkkc" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=1dkz0kC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=1dkz0kC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=qUGXrmC"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=qUGXrmC" border="0"></img></a> <a href="http://feeds.otmfaq.com/~f/otmfaq/blogs?a=GUMDGJc"><img src="http://feeds.otmfaq.com/~f/otmfaq/blogs?i=GUMDGJc" border="0"></img></a>
</div><img src="http://feeds.otmfaq.com/~r/otmfaq/blogs/~4/197755654" height="1" width="1"/>]]></content:encoded>
			<dc:creator>chrisplough</dc:creator>
			<guid isPermaLink="false">http://www.otmfaq.com/forums/blogs/chrisplough/1-welcome-otmfaq-community-blogs.html</guid>
		<feedburner:origLink>http://www.otmfaq.com/forums/blogs/chrisplough/1-welcome-otmfaq-community-blogs.html</feedburner:origLink></item>
	</channel>
</rss>
