Configuring WebLogic JMX on LoadRunner Controller

Here is a tip shared by my friend Daisy:

The WebLogic SNMP monitor is enable in the Controller as default. If you need to monitor Weblogic JMX, you have 2 options:

  1. Use the SiteScope as a monitoring tool instead of Controller;
  2. Enable the Weblogic JMX monitor into Controller.
    1. To do this you will  have to configure online_resource_graphs.rmd file – located under <LoadRunner DIR>\dat\online_graphs: update the EnableInUi param of the relevant monitor (i.e. for WebLogic (JMX): search for the [WebLogicJMX] section and update its EnableInUi param).
    2. Also, you might need to install java jdk on Controller (I didn’t have chance to test it):

WebLogic Monitor Requirements and Setup

Requirements

  • JDK 1.4 on controller
  • Permissions on WebLogic MBeans.

Setup on Controller

  • After JDK installation Copy weblogic.jar from the lib folder of WebLogic Server to LoadRunner root\classes.
  • Remove jmxri.jar from LoadRunner root \classes.
  • Specify the path in the LoadRunner root folder\dat\monitors\WebLogicMon.ini file. Edit the JVM entry in the [WebLogicMon] section. For example: JVM=”E:\Program Files\JavaSoft\JRE\1.4\bin\javaw.exe
  • Edit the JavaVersion entry in the [WebLogicMon] section.

Set permissions on WebLogic

  • Open the WebLogic console (http://<host:port>/console).
  • In the tree on the left, select Security > Realms > myrealm > Users, and click Configure a new User… in the screen on the right. The Create User: General tab opens.
  • In the Name box, type weblogic.admin.mbean, enter a password, confirm the password, and then click Apply.
  • In the Groups tab, enter the name of any user or group you want to use for monitoring, and then click Apply.

, , , , , ,

No Comments

Installing HP Diagnostics Probe for ASP.NET Applications

Another very useful tip shared by Odorico:

Installation:

  • Just install the provided file, “HP .NET Probe.msi”, which is probably under the “Diagnostics_Probes” folder;
  • Inform the name of server where the Diagnostic is was installed;
  • Keep the other settings as default.

Remember to reset IIS to get the changes (enable/disable probe) in place:
Go to  ’Start > Run’  “iisreset”

Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted

You will be able to Enable and Disable the probe in the application server. By default, after installation, probe is enabled.

If the application you intend to monitor is not detected by the Probe, or if new applications are deployed in the server, you can Rescan ASP .NET Application. A new application point will be created for any new application in the server.

Configuration:

Probe will be installed in the folder C:\MercuryDiagnostics\.NET Probe

Configuration and application points settings will be find in etc folder (C:\MercuryDiagnostics\.NET Probe\etc)

File C:\MercuryDiagnostics\.NET Probe\etc\probe_config.xml contains the main configurations. You will be able to add more detailed monitoring information by editing this file.

The main changes you should do are:

  • Monitoring Heap: Add to “process enablealldomains” the tag “monitorheap=”true”
  • Monitoring IIS and memory information: Add the Iis and Lwmd file points

Example file:

<?xml version="1.0" encoding="utf-8" ?>
- <probeconfig>
<id probeid="" probegroup="Default" />
<credentials username="" password="" />
- <profiler authenticate="">
<authentication username="" password="" />
</profiler>
<diagnosticsserver url="http://localhost:2006/commander" />
<mediator host="localhost" port="2612" metricport="2006" />
<webserver start="35000" end="35100" />
<modes pro="true" />
- <instrumentation>
<logging level="" />
</instrumentation>
<lwmd enabled="true" sample="1m" autobaseline="1h" growth="10" size="10" />
- <process enablealldomains="true" name="ASP.NET" monitorheap="true">
<logging level="" />
<points file="ASP.NET.points" />
<points file="ADO.points" />
<points file="Iis.points" />
<points file="Lwmd.points" />

- <appdomain enabled="false" name="1923244809/Default">
<points file="1923244809-Default.points" />
</appdomain>
</process>
</probeconfig>

If it is necessary to add monitoring level under some specific classes and/or methods you just need to configure the <application_instance>.points file:

;[1923244809/Default]
;Uncomment and modify this section to capture calls to your business logic
;class                   = !Namespace_Qualifed_Class_Name_Of_Your_Code.*
;method                  = !.*

;signature               =
;scope                   =
;ignoreScope             =
;layer                   = 1923244809/Default

Fields class and method will contain the namespace for the classes and method would contain the specific methods to monitor. CAUTION: Avoid monitoring of all methods (.*). That would be very intrusive and the probe tends to impact server performance.

Profiler:

When you open the profiler (during installation it will be showed the port number the service will run) you will see the following screen:

You will also be able to know the Probe’s application port for each IIS application, by checking this information in probe_config.xml file.

<webserver start="35000" end="35200" />

The webserver start and end shows the port ranges for the probe. The first application point will be running in the port 35000, the second one in the port 35001 and so on.

In our example we have only one application installed in IIS, so we just access URL:

http://localhost:35000/profiler

Analysis:

Heap Tab

You can see the application Heap. In this example application presents a memory leak. You can see Gen 2 and Large heap increasing very fast and they are not releasing meaningful portion of memory. Even after the test has been finished, we noticed a significant portion of memory remains allocated.

A rank with the most memory consumer classes is showed. For instance String, Byte[], and Collectors, such as Dictionaries.

Collections Tab

The collectors tab shows how collections grow along the test. For the application example, we have a significant increase in collections allocated in the class CommunityServer.Controls.TagCloud.get_DataSource().

How can I save and share the reports?

You can save a monitoring snapshot by click in Snapshot button. It will be created a XML file containing all information we had collect at that time.

NOTE: Snapshots can create huge XML files. So a good practice is to compact the file before sharing it!

IMPORTANT: The probe is intrusive. It collects a lot of metrics from the application. Thus, don’t forget to disable the probe after you have finished your tests. It will be necessary to reset IIS once again.

, , , , , , , , , , , , ,

No Comments

Configuring Sitescope and Weblogic Servers

Here is a very useful tip shared by my friend Odorico:

LoadRunner doesn’t provide native interface to WebLogic 9 and  10 (only to 8.1FP4) and SiteScope just do it using RMI-IIOP.

So before configuring such monitor, is good to get the Dev/Infra team aware of the monitoring request. They need to check and enable RMI IIOP features inside weblogic.

Here are the steps:

On the WebLogic Server:

Before edit any field on Weblogic you need click in “Lock & Edit”. When you finish all configuration settings, it is necessary click in “Active Changes” to put changes in place.

  1. Enable RMI-IIOP protocol:
  2. At Domain’s Security section, check if “Anonymous Admin Lookup” is enabled
  3. For the service/server you’re monitoring, at service’s Settings, Protocols, IIOP, enable IIOP and in advanced configuration, set up IIOPUserName and IIOPPassword to weblogic’s admin credentials
  4. Maybe a restart will be required

On the JMX Client

  1. Make sure you will be running a JAVA VM at version 1.5 or above.
  2. When activating the JMX client (jconsole, for example) add the following parameter:
  3. -J-Dcom.sun.CORBA.transport.ORBTCPReadTimeouts=10:60000:500:10

  4. This will change the timeouts for the CORBA protocol (remember we’re getting JMX from a WebLogic, so it goes thru RMI-IIOP)
  5. Example:
  6. H:\>jconsole -J-Dcom.sun.CORBA.transport.ORBTCPReadTimeouts=10:60000:500:10

  7. Use the following URL pattern:
  8. service:jmx:rmi:///jndi/iiop://YOURSERVERADDRESS:PORT/weblogic.management.mbeanservers.runtime

  9. When asked for a Username and Password, give the RMI IIOPUsername/Password given in server configuration.

, , , , , , ,

No Comments

Twitter Weekly Updates for 2010-01-23

,

No Comments

5 Tips for Effective Delegation

As a manager/supervisor, you just can’t do it all. To achieve effective results, you need to able to delegate projects and work to others. By effective delegation, you communicate to your employees that you have confidence in their ability to complete a job or project.

  1. Define the task and identify the outcome, not the process. The process that works for you may not work for others. Maybe you’ve been doing a job one way, because that’s how you were taught 20 years ago. When delegating, describe the successful outcome and let the person to find their best way to completion. Who knows, you might learn something from them.
  2. Give enough authority to accomplish the task. If the person receiving the task has to get approval at every or most step of the way, you might as well have done the job yourself. Turn the employee loose, with the resources to achieve the desired outcomes.
  3. Monitor the process, but allow people room to work. Don’t micro-manage! (See tip 2.)
  4. Make yourself available for support or feedback. Just because you’re not micro-managing doesn’t mean you disappear completely. Let the delagatee know that you are there to answer questions or to review milestones.
  5. Reward and recognize effort as well as results. An employee who is trying a task for the first time, may not get the whole thing correct. Make sure you recognize and reward the effort expended and the steps done well. Then, the next time you delegate, they will be able to build on the successes of the earlier effort.

Plus: Don’t dump your garbage jobs on your employees. Delegation is not an excuse to get rid of the crap your don’t want to do. You employees will recognize that strategy and will not see it as a development opportunity.

Through effective delegation, you can expand the range of what you can accomplish, as well as developing the skills and strengths of the team you manage.

Via ismckenzie.com

, , ,

No Comments

Twitter Weekly Updates for 2009-12-19

,

No Comments

How to reset a terminal services session remotely

Probably all of you have run into the problem where a colleague forgot to log off after using a remote session through Terminal Services and then you get the beautiful ‘there are too many users connected’ error.

Probably this colleague already left for the day and you’re not able to contact him, so the best option here is to reset his session. In order to do this go to Command Prompt, and type:

qwinsta /server:xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx being your server IP address.

It should return a result table like this:

SESSIONNAME USERNAME ID STATE TYPE
console 0 Conn wdcon
rdp-tcp 65536 Listen rdpwd
rdp-tcp#8 Administrator 7 Active rdpwd
rdp-tcp#9 User 8 Active rdpwd

Choose the ID of the session that you would like to end and type:

rwinsta /server:xxx.xxx.xxx.xxx n

n being the session ID you want to reset.

That’s It! You can log on now!

, , , , , , , ,

No Comments

Does this remind you of anything??

clip_image002

, , , , ,

No Comments

Twitter Weekly Updates for 2009-12-12

,

No Comments

Twitter Weekly Updates for 2009-12-05

,

No Comments