<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LoadRunner TnT &#187; WebLogic</title>
	<atom:link href="http://www.loadrunnertnt.com/tag/weblogic/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.loadrunnertnt.com</link>
	<description>Performance Testing, LoadRunner Tips &#38; Tricks</description>
	<lastBuildDate>Mon, 08 Mar 2010 07:57:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Understanding WebLogic (JMX) monitoring</title>
		<link>http://www.loadrunnertnt.com/concepts/understanding-weblogic-jmx-monitoring/</link>
		<comments>http://www.loadrunnertnt.com/concepts/understanding-weblogic-jmx-monitoring/#comments</comments>
		<pubDate>Wed, 14 May 2008 05:00:01 +0000</pubDate>
		<dc:creator>TnT Admin</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[JMX]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[WebLogic]]></category>

		<guid isPermaLink="false">http://www.loadrunnertnt.com/?p=256</guid>
		<description><![CDATA[What&#8217;s WebLogic (JMX) all about in LoadRunner? If you are not J2EE background professional and caught up in a load test for WebLogic servers, this article will be useful to you as we&#8217;ve put together information to help you get a better understanding of JMX (Java Management Extensions). We will be going through the fundamentals [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Oracle" src="http://loadrunnertnt.com/images/oracle_logo.jpg" alt="" width="253" height="87" />What&#8217;s WebLogic (JMX) all about in LoadRunner? If you are not J2EE background professional and caught up in a load test for WebLogic servers, this article will be useful to you as we&#8217;ve put together information to help you get a better understanding of JMX (Java Management Extensions). We will be going through the fundamentals of JMX and how it works in together with LoadRunner. We will also be touching on the reference list of available counters provided by WebLogic. If you like to know the configuration details, look out the Monitor Reference that comes together with the installer (which is pretty easy to configure).<span id="more-256"></span></p>
<p><strong>What’s JMX in the first place! </strong></p>
<p>JMX (Java Management Extensions) technology provides a simple, standard way of managing resources such as applications, devices, and services. Because JMX technology is dynamic, you can use it to monitor and manage resources as they are created, installed and implemented. <a title="Introduction to JMX Technology" href="http://java.sun.com/j2se/1.5.0/docs/guide/jmx/overview/intro.html" target="_blank">(Source: Sun Microsystems, &#8220;Ch1 : Introduction to JMX Technology&#8221;)</a></p>
<p>A simple illustration of how the JMX architecture  can be found in Wiki, <a title="Wiki, Java Management Extensions" href="http://en.wikipedia.org/wiki/Java_Management_Extensions" target="_blank">&#8220;Java Management Extensions&#8221;</a>.  This will give you an overview of the different levels and how the communication work between them.</p>
<p>Additional references can be found in Sun Microsystems which we recommend browsing through to get an general understanding of this technology.</p>
<ul>
<li><a title="Overview of Monitoring and Management" href="http://java.sun.com/j2se/1.5.0/docs/guide/management/overview.html" target="_blank">&#8220;Overview of Monitoring and Management&#8221;</a></li>
<li><a title="Java Management Extensions (JMX) Technology" href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/" target="_blank"><span style="font-size: x-small;">&#8220;</span><span style="font-size: x-small;">Java Management Extensions (JMX) Technology&#8221;</span></a></li>
<li><span style="font-size: x-small;"><a title="JDK 6 Java Management Extensions (JMX)" href="http://java.sun.com/javase/6/docs/technotes/guides/jmx/index.html" target="_blank">&#8220;JDK 6 Java Management Extensions (JMX)&#8221;</a></span></li>
</ul>
<p>Ok, now we&#8217;ve got an understanding on JMX. In the context of WebLogic, JMX is in place to monitor the resources usage of the server.</p>
<p><strong>How does WebLogic (JMX) monitoring work in LoadRunner?</strong></p>
<p>JMX specification is designed to monitor Java applications from another Java application. Therefore, in order for LoadRunner to monitor WebLogic resources via JMX, it will be required that LoadRunner to be a Java-application to perform the monitoring and collect the data from the <strong>MBeans</strong>. This is achieved by installing JDK of the same version as the WebLogic server and running a mini version of application server in the LoadRunner machine to collect the monitoring data which is reason the installation of JDK as well as the copying of the weblogic.jar file is required.</p>
<p><strong>What can you get from WebLogic (JMX) monitoring?</strong></p>
<p>You will be able to monitor the runtime state of the WebLogic via JMX from the Runtime MBeans. The list of JMX counters can be found in <a title="WebLogic Server MBean Reference" href="http://edocs.bea.com/wls/docs92/wlsmbeanref/core/index.html" target="_blank">&#8220;WebLogic Server MBean Reference&#8221;</a>.</p>
<p>If you need to see how much time is spent or breakdown on individual methods, SQL calls or even the chain of calls, you are looking at the wrong tool. You may like to explore Diagnostics for a solution. Refer to <a title="What's Diagnostics?" href="http://www.loadrunnertnt.com/?p=1" target="_blank">&#8220;What&#8217;s Diagnostics?&#8221;</a> for more information</p>
<p>We&#8217;ve put together a list of references that will you understand the JMX technology and also the fundamentals that WebLogic (JMX) working with LoadRunner. We hope this information is useful to you. If you have additional information with regards to the monitoring, please feel free to write in to us.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loadrunnertnt.com/concepts/understanding-weblogic-jmx-monitoring/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Parsing error. Details: host localhost,port 1112, line: 1. Reason: Invalid at the top level of the document.</title>
		<link>http://www.loadrunnertnt.com/errors/parsing-error-details-host-localhostport-1112-line-1-reason-invalid-at-the-top-level-of-the-document/</link>
		<comments>http://www.loadrunnertnt.com/errors/parsing-error-details-host-localhostport-1112-line-1-reason-invalid-at-the-top-level-of-the-document/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 15:20:39 +0000</pubDate>
		<dc:creator>TnT Admin</dc:creator>
				<category><![CDATA[Errors]]></category>
		<category><![CDATA[JMX]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[WebLogic]]></category>

		<guid isPermaLink="false">http://www.loadrunnertnt.com/?p=173</guid>
		<description><![CDATA[Parsing error.
Details: host localhost,port 1112, line: 1.
Reason: Invalid at the top level of the document.
.
Contents: java.lang.Exception:java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogoc.admin.mbean, Administrators] [MsgId:MMSG-47587]
Background information: I&#8217;m monitoring 4 WebLogic servers using WebLogic (JMX) Monitor in LoadRunner and adding their JMX stats into Controller. Upon adding the subsequent server, the error appeared after entering the username and password to [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Parsing error.<br />
Details: host localhost,port 1112, line: 1.<br />
Reason: Invalid at the top level of the document.<br />
.<br />
Contents: java.lang.Exception:java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogoc.admin.mbean, Administrators] [MsgId:MMSG-47587]</p></blockquote>
<p>Background information: I&#8217;m monitoring 4 WebLogic servers using WebLogic (JMX) Monitor in LoadRunner and adding their JMX stats into Controller. Upon adding the subsequent server, the error appeared after entering the username and password to the Controller. I&#8217;m using LoadRunner 9.0 and Weblogic 8.1 in this context.<span id="more-173"></span></p>
<p>The principle behind it is that the mini Web server launched by the Controller for monitoring WebLogic JMX listens on port 1112 by default (defined in {LoadRunner}\dat\monitors\weblogicmon.ini). This port is occupied and the mini Web server cannot be started according to <a title="HP Openview Document ID 42701" href="http://support.openview.hp.com/selfsolve/document/KM%20195553">Document ID 42701, Error: &#8220;Failed to connect to XML source on 1112&#8243;</a>. This hinted me on the change of port. As suggested in the document, for every Weblogic server (JMX) that I&#8217;ve added, I change the port number on the file as below <a title="HP Openview Document ID 42701" href="http://support.openview.hp.com/selfsolve/document/KM%20195553" target="_blank">(Source: HP Openview Document ID 42701)</a>:</p>
<p>The solution is to configure the default port to a one not in use</p>
<p>1. Navigate to {LoadRunner}\dat\monitors.<br />
2. Open weblogicmon.ini in Notepad.<br />
3. Change</p>
<p>Weblogic=weblogic.jar<br />
Port=1112</p>
<p>to:</p>
<p>Weblogic=weblogic.jar<br />
Port=1114 {Or any other port that is free on the Controller machine}</p>
<p>4. Save the changes.<br />
5. Close the &#8220;Add Measurement&#8221; dialogue and re-open it. You should be able to add the JMX measurements. Repeat from [1] to [5] in the event that when the error occured for subsequent WebLogic servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loadrunnertnt.com/errors/parsing-error-details-host-localhostport-1112-line-1-reason-invalid-at-the-top-level-of-the-document/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How do we determine which WebLogic thread is causing CPU contention using PsList?</title>
		<link>http://www.loadrunnertnt.com/analyze/how-do-we-determine-which-weblogic-thread-is-causing-cpu-contention-using-pslist/</link>
		<comments>http://www.loadrunnertnt.com/analyze/how-do-we-determine-which-weblogic-thread-is-causing-cpu-contention-using-pslist/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 04:32:11 +0000</pubDate>
		<dc:creator>TnT Admin</dc:creator>
				<category><![CDATA[Analyze]]></category>
		<category><![CDATA[Bottleneck]]></category>
		<category><![CDATA[WebLogic]]></category>

		<guid isPermaLink="false">http://www.loadrunnertnt.com/?p=357</guid>
		<description><![CDATA[As mentioned in the title, this is specified to WebLogic application instance. The purpose of doing this is to find out which thread is consuming the most CPU usage and what it is doing at that point of time. This is especially useful when your instance is running at 100% utilization and you want to [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned in the title, this is specified to <strong>WebLogic</strong> application instance. The purpose of doing this is to find out which thread is consuming the most <strong>CPU usage</strong> and what it is doing at that point of time. This is especially useful when your instance is running at 100% <strong>utilization</strong> and you want to troubleshoot the problem.</p>
<p>To do that, you have to download the utility, <a href="http://download.sysinternals.com/Files/PsTools.zip" target="_blank"><strong><span style="text-decoration: underline;"><span style="color: #0066cc;">PsTools</span></span></strong></a> from <a href="http://www.microsoft.com/technet/sysinternals/default.mspx" target="_blank"><strong><span style="text-decoration: underline;"><span style="color: #0066cc;">Microsoft Sysinternals</span></span></strong></a>. PsTools has a command, <a href="http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/PsList.mspx" target="_blank"><strong><span style="text-decoration: underline;"><span style="color: #0066cc;">PsList</span></span></strong></a> that can look at the thread level on the OS.<span id="more-357"></span></p>
<p><strong>Pslist</strong></p>
<p><strong><img class="aligncenter" title="PsList Process" src="http://loadrunnertnt.com/images/pslist_process.JPG" alt="" width="668" height="499" /><br />
</strong></p>
<p>Follow the instructions to install the <strong>utility</strong>.</p>
<p>1. Open command prompt, get the <strong>Process ID</strong> of the running application instance:</p>
<p><em>pslist processname -x</em></p>
<p>Where &#8220;Process Name&#8221; is usually <em>java.exe</em>. There should be more than one <em>java.exe</em> due to the application instance and the WebLogic instance. So you have to be sure of which console the application is on. The results returned should be the memory consumed and the amount of CPU utilization.</p>
<p><strong>Pslist java</strong></p>
<p><img class="aligncenter" title="PsList Thread" src="http://loadrunnertnt.com/images/pslist_thread.JPG" alt="" width="668" height="499" /></p>
<p><strong>Pslist java -x</strong></p>
<p><strong><img class="aligncenter" title="PsList Thread for Process" src="http://loadrunnertnt.com/images/pslist_thread_for_process.JPG" alt="" width="668" height="727" /><br />
</strong></p>
<p>2. With returned results, look at the <strong>User Time</strong> (which represent the amount of application time consumed on the processor). Take note of the highest timing and the <strong>Thread ID</strong> also abbreviated as <strong>TID</strong>.</p>
<p>3. Go to the application instance <strong>console</strong>, perform a <strong>thread dump</strong> (Press “Crtl-Break”) and observe the dump. In <strong>JRockit JVM</strong>, you should be able to see a similar <strong>tid</strong> in <strong>decimals</strong>. While in <strong>Sun HotSpot JVM</strong>, it is called <strong>nid</strong>, in <strong>hexadecimal</strong> format which required you to perform conversion to decimal (use the <strong>scientific calculator</strong> to do it). (Prior to that, I would also redirect the console output to a log in the startup script.)</p>
<p><strong>Thread Dump</strong></p>
<p><img class="aligncenter" title="ThreadDump" src="http://loadrunnertnt.com/images/startMedRecServer_threaddump.JPG" alt="" width="668" height="332" /></p>
<p>4. Ok, now search for the Tid from Pslist in the thread dump. Recall the Tid that was output from <em>pslist java -x</em>, the values for Tid and tid are the same and nid in decimal format. Remember for Sun HotSpot, you need to convert the Tid from Pslist into hexadecimal to do the search. You should be able to find out the specified thread and drill down to the activity the thead is performing at that point of time. From there, it’s your call on the follow up actions such as reviewing the codes or examining the database for remedy.</p>
<p><strong>Scientific Caculator</strong></p>
<p><img class="aligncenter" title="Scientific Calculator" src="http://loadrunnertnt.com/images/scientific_calculator.JPG" alt="" width="483" height="311" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loadrunnertnt.com/analyze/how-do-we-determine-which-weblogic-thread-is-causing-cpu-contention-using-pslist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
