Performance Testing, LoadRunner Tips&Tricks

This site is moving to a bigger space @ LoadRunner TnT

Protocols: Working with Web (HTTP/HTML)

There are situations where record using HTTP encounters problem. As the problem may varies in contexts, below is a list of solutions that may/may not resolve the problem.

[1] Use another machine to record.

Install VuGen on another machine and proceed with recording. What we are doing here, is to differ a problematic machine to a working one (at a machine-level troubleshooting). The existing machine may have problems due to a clone image or previous installation of programs.

[2] Use web_custom_request.

Use the basic web request methods for communicating to the server.

1.1 From menu, [File] > [New] > [New Multi Protocol Script], choice only [Web(HTTP/HTML)], invoke new Web Vuser.

1.2 Set WEB Vuser with URL based script (not HTML mode), check on “Use web_custom_request only”. Proceed with the recording. LR records and generate scripts when it detects signatures that describes the protocol, generating similar functions such as web_submit_data. In certain situations, this detection is unsuccessful caused by HTTP requests/responds unknown to LR. Therefore, by instructing VuGen to record using web_custom_request only, this will detect all unknown communications been used in a HTTP mode to be recorded.

[3] Configure Port Mapping settings

Some applications might utilize certain ports different from the browser.

1.1 Ensure the port used by the application was set properly at [Recording Options] > [Port Mapping] and record the application.
NOTE 1: Shouldn’t duplicate the port numbers. To ensure it, delete all of the registered Entry and add New Entry.
NOTE 2: Use web_custom_request only

1.2 If that didn’t resolve the problem, please set “WinInet Level data” at [Capture Level] in [Port Mapping] and record the application.

1.3 If that didn’t resolve the problem, please set “Socket level and WinInet level data” at [Capture Level] in [Port Mapping] and record the application.

1.4 If that didn’t resolve the problem, click [Edit Entry], please change [Record Type] to “Direct” and record the application. NOTE: If you are using SSL, you need to set it here properly. Additional information for SSL can be found in VuGen User Guide. Go to START > All Programs > Mercury Load Runner > Documentation > Load Runner Books Online > Mercury Load Runner Virtual Generator User Guide > Working with VuGen > Configuring the Port Mappings

[4] Use Older Recording Engine

Recording Engine differ from the old version to the current version. 1.1 Check on [Recording Options] > [Advanced] > “Record script using earlier recording engine”. 1.2 Create a new script for the settings to take effect. From [File] > [New] > [New Single Protocol Script] > [Web(HTTP/HTML)], invoke new Web Vuser. 1.3 In [Recording Options] > [Browser] and set [Specify Path to application] to set the path of the target application. Proceed to record the application.

[5] Use LoadRunner as Proxy Server for Recording (For Older Recording Engine)

Utilize LoadRunner as Proxy Server to record communication going through to the server.

1.1 If the above listed didn’t resolve the problem, use LoadRunner as Proxy Server for recording.

1.2 In [Recording Options] > [Browser] and set [Manually launch an application] there.

1.3 In [Recording Options] > [Browser] > [Recording Proxy] and set “No Proxy” there.

1.4 On a separate machine (e.g. Machine A), set the Proxy to the LR machine with port 7777. (NOTE: Proxy server can be configured on the LR machine itself)

1.5 Start recording on LoadRunner machine.

1.6 Invoke the application on Machine A.1.7 You should be seeing events counted on the LoadRunner machine. It means the target application accesses the LR machine and LR is recording it.

[6] Determine OS Support Status and Change the OS for Testing

[7] Use WinSock protocol

Using WinSock protocol, you can determine the actual communication method by the client to the server.

Labels: , , , , ,

Bookmark this article now! AddThis Social Bookmark Button

technorati reddit digg

Monitors: How does the monitoring work?

The objective of LoadRunner is simple; to load an application (set upon a certain environment and hardware), monitor the servers that is in the environment housing the applications, and lastly collect the results for analysis. LoadRunner sells itself as a load testing tool that is not intrusive in any environment with the capability of not requiring installation of agent programs on the servers in the environment.

How is this achieveable?

What LoadRunner does is to collect information of monitoring counters of the native monitors. Native monitors in this context means the programs/modules that is in-built with the system that you are monitoring. Example of the commons, for monitoring Windows System Resources, LoadRunner draws information from the in-built tool, Perfmon which is available for almost all Windows OS. For Unix System Resources, LoadRunner uses rstatd daemon of Unix OS for monitoring.

To name a few others, for non-System Resources, such as Web Server Resources, Apache Web Server, the server must be configured to allow monitoring before LoadRunner can draw data out. This applies for Web Application Server (WebLogic, WebSphere, etc.) so on and so forth.

For Database Servers, a client is needed to be installed for the monitoring to be successful. Example, for Sybase Database, the Sybase AES client (if I do not remember wrongly) needs to be installed on the Controller; Oracle Database requires the V$SESSION table to be working. With exception of MS SQL, the counters are in-built into Perfmon.

The list can go on however, the concept of monitoring is the same and applies for other monitors that is not mentioned in the above examples too. (More information of the monitoring requirements can be consulted in the Monitor Reference provided with each installation of LoadRunner.)

Therefore, before any monitoring, the native monitors must be working prior to the test. If the native monitors are not working, the monitoring by LoadRunner will certainly fail. Usually, the monitors failed on the following reasons which I guessed for all load tester should be aware of.

1. No support for the native monitor.
2. Configuration problems on the native monitors.
3. Environmental Issues such as security, firewall and policies.

A good understanding of the native monitors such as its configuration, type of monitoring data it can provide, and how it generally works will be a good foundation before the load test. This wil be useful for the load tester to relate the required configuration to the System Admin/Engineer, Network Engineers, etc.

In summary, LoadRunner collects monitoring data from the native monitors. Therefore, the native monitors must be configured correctly prior the load test. The reasons for failure could be due to (1) no support, (2) configuration problem and (3) environmental issues.

Hopefully, the above information will be of used to you by serving an understanding of the monitoring requirements needed by LoadRunner.

Labels: , , , , ,

Bookmark this article now! AddThis Social Bookmark Button

technorati reddit digg

Protocols: What Protocol to use?

There are a lot of questions about LoadRunner on what types of protocols to used to record application "X". Questions such as, "I've got a Java applicaton, and there are many protocols from the list of Vugen. Which Protocol should I choose?".

For the above, the Load Tester him/herself must understand the communication method between the Client and Server. If he/she were to post the question to someone else on the Internet or Mercury/HP support, he/she is going to get the same respond of "Do you know what is the communication between the Client and Server?".

Despite the langauge or the type of of Applications (Java or Win32, etc.), the Load Tester must understand what is the communication method in order to determine the protocol to be used. This is done by consulting the developement team of the application (which usually the Load Tester do not have such knowledge).

Using the Java application as an example, it could be developed in Java, however maybe using RMI-Java, RMI-CORBA or HTTP to communicate with the Server. Simiarly, for Win32, it could be developed in VB however, also can be using DCOM, ADO or HTTP, so on so forth. With the above information, you can select the protocol from the list in LoadRunner accordingly. Example, RMI-Java used RMI-Java, HTTP use Web(HTTP/HTML), DCOM use COM/DCOM, ADO use ODBC (if using ODBC connectivity), so on and so forth.

You can see that it doesn't matter what the language was used to develop the application; the main important thing is the communicaton method that was used.

In summary, knowing the communication method by the application is important as it determines the protocol to use for recording. Despite being developed in any type of application, it can be communicating in a protocol that is not of it native language type. Hopefully, this article can serve a better understanding the effort for recording and selection criteria.

Labels: , , , , , , ,

Bookmark this article now! AddThis Social Bookmark Button

technorati reddit digg


Hi visitor :)

Due to my interest in using Mercury/HP LoadRunner, I've come up with this site that hopefully will be useful in sharing my basic experiences to those using the tool. At this point of time, I'm still creating content for this blog, so please bear with me (and the website).

If you have any comments relating to this blog, please feel free to feedback via the comment. Also, you could email me via

Happy reading :)

Kind Regards

Bookmark this article now! AddThis Social Bookmark Button

technorati reddit digg

Powered by Google

Enter your email address:

Delivered by FeedBurner

Add to Technorati Favorites


Powered by Blogger

make money online blogger templates

Powered by FeedBurner

Blog Directory

Top Blogs

Software Blogs -  Blog Catalog Blog Directory

© 2007 Performance Testing, LoadRunner Tips&Tricks | Blogger Templates by GeckoandFly.
No part of the content or the blog may be reproduced without prior written permission.
Learn how to make money online | First Aid and Health Information at Medical Health