Story behind Jenkins logo | Jenkins History | Jenkins logo background

A butler is a domestic worker in a large household. In great houses, the household is sometimes divided into departments with the butler in charge of the dining room, wine cellar, and pantry. Some also have charge of the entire parlour floor, and housekeepers caring for the entire house and its appearance.

Kohsuke Kawaguchi, the founder of Hudson project which then forked into currently known as Jenkins, He fondly calls it a butler which can get your task done according to your order. Hudson as well as Jenkins are very British sounding names where butler services originated and still are pretty popular. This is the motivation which 
Kohsuke Kawaguchi and  also time to time Kohsuke Kawaguchi casually mentions in his talks about this.

How to start jenkins in windows | How to restart jenkins server in windows machine | How to stop jenkins in windows

To restart the jenkins server in windows machines do the following:

Open the Command prompt
Go to your Jenkins installation directory (Default it is located under  under C://Programfiles//Jenkins)and execute the below commands

To Stop Jenkins:
jenkins.exe stop

To Start Jenkins:
jenkins.exe start

To Restart Jenkins:
jenkins.exe restart

How to change jenkins default port 8080

Follow these simple steps and change the default port number on Jenkins.

  • Go to the Jenkins directory we installed the Jenkins (By default, it is located under C://Program Files//Jenkins)
  • Open the Jenkins.xml file.
  • Search for "httpPort=8080" (as shown in below image) and replace the "8080" with the new port number that you want to change, you can put 8081.

  • Save it and restart the Jenkins.
  • Browse the Jenkins url as https://localhost:8081

Test id and Test instance ID in performance center | PC test id and test instance id

Here i will show how to find the test id and test instance id in performance center.
Usually people considers the as the  test instance id,but both are different.

To find the test id and test instance id,Follow the below steps.
  • Go to controller
  • Go to the test plan and from there go to the scenarios.

  • Open the scenario for which you need the Test id and Test instance id.
  • Click on the edit scenario button.
  • As shown in below, the number which is highlighted is the test id,here it it 63

  • Now click on the Home button and go to the same scenario ,where you will see the test instance tab.Click on the instances and you can find the Test instance id that assigned to.

How to Convert a Web - HTTP/HTML Vuser Script into a Java Vuser Script in Load Runner?

VuGen had an advantage  that enables you to convert a Web - HTTP/HTML Vuser script into a Java Vuser script. This also allows you to create a hybrid Vuser script for both Web and Java.

Steps for the Conversion:
  1. Create an empty Java Vuser script and save it with your desired name.
  2. Create an empty Web (HTML/HTTP) Vuser script and save it with your desired name.
  3. Record a session into the Web (HTML/HTTP) Vuser script.
  4. Replay the Web (HTML/HTTP) Vuser script. When it replays successfully, cut and paste the entire script into a text editor and save it as a text file (.txt). 
  5. In the text file, modify any parameter braces from the Web type, "{ }" to the Java type, "< >".
  6. Open a DOS command window and go to the / dat folder.
Type the below command
\bin\sed -f web_to_java.sed filename > outputfilename

filename- Full path and filename of the text file you saved earlier
outputfilename -The full path and filename of the output file.

Open the output file, and copy its contents into your Java Vuser script action section at the desired location.If you are pasting the contents into an empty custom Java template (Java Vuser type), modify the line containing public int action() as follows:
public int action() throws Throwable
This change is done automatically for recorded Java users (RMI and CORBA).

Parameterize and correlate the Vuser script as you would with an ordinary Java script, and run the script.

How to run Performance Center in Professional mode WAN Emulation

Today i will explain about the *.NTX file located on a shared location here.

In the Performance Center the default setting hides the option to use an *.NTX file from a shared f]]location in Professional mode. This can be downloaded from a VE Desktop server.

Here is the process :The shared drive must be accessible to the Controller machines.

  • Go to Performance Center user site and create a new test for the load test.Then go to the Workload tab. All the Load Generators should be defined before starting the load test.
  • Click the WAN Emulation Settings and select the load generator from the list of LGs.
  • Enable the WAN Emulation check-box and the go to WAN Emulation Settings .
  • go to Additional Settings
  • Enable the Professional mode includes opening files located on a shared drive check-box
  • Click OK
  • Select the Professional radio-button
  • Click the Browse button and locate the NTX file to be used for that Load Generator
  • Then click OK

Shared data files usage in Performance Center

In the Performance center, the additional include files get pushed to load generators is to add them to the script in Vugen. This can be accomplished in Vugen by going to the File menu and selecting "Add to script." Any files you select will be added to the action navigation pane in Vugen and will be automatically pushed to any load generators during a test. You should not have to map any directories on the load generators .

If you are using a shared file (such as a function header) that you do not want to attach to all scripts, just make sure that the directory linked to in the script is accessible on all load generators. If not, the appropriate mappings must be completed so the file is accessible during test runs.The file must be placed on the all the load generators which are used in the test.

Error "An Authentication object was not found in the SecurityContext" in load runner

Some times in our application with the web-services,during recording of the application VUGen doesn't record the authentication object and while replaying the script you get the error An Authentication object was not found in the Security Context

The reason for the SOAP fault is: 
"An Authentication object was not found in the SecurityContext"

As mentioned by above error, the application  is mostly launched via a web-link where the run time jars / dlls are downloaded locally and application is launched. During launching itself the application takes the credentials from local system (your AD account details) and authenticates the user. In case of replaying this operation in VUGen this authentication information is not available, this can be done by sending the authentication information in the header before the first web-service request as shown below:

Otherwise if your web service method has property for sending authentication object then you can do so in the request itself.

How can we handle captcha in Load Runner?

CAPTCHA (an acronym for "Completely Automated Public Turing test to tell Computers and Humans Apart") is a type of challenge-response test used in computing to determine whether or not the user is human. The term was coined in 2003 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper, and John Langford.

The purpose of the CAPTCHA is to defeat the automation. CAPTCHA are based upon the turning test and as such the main purpose is to differentiate human from machine. Pattern recognition, vocal, visual (dynamic/static) has been broken several time. Much of the time it become a pain for the end-user, because they are a pain to decipher. Cultural reference or social pattern could be proven useful, achieve the same purpose and be less annoying for your customer

If you want to script the application which has CAPTCHA with the load runner you have to get the below things from the DEV.
  • To disable CAPTCHA validation
  • To make the CAPTCHA as static
  • To remove the CAPTCHA
  • To send the CAPTCHA value in server response(So that you can correlate)
  • Provide the CAPTCHA details which are comes in the data base sequentially.

SSL received a weak ephemeral Diffie-Hellman key. (Error code: ssl_error_weak_server_ephemeral_dh_key) resolved

while recording any application with the load runner,or some times running in to manually we may get the below error in mozilla firefox.

Secure Connection Failed
An error occurred during a connection to SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message. (Error code: ssl_error_weak_server_ephemeral_dh_key)
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.

Solution for the above problem:
  • Type about:config in the address bar of mozilla firefox
  • search for security.ssl3.dhe_rsa_aes_128_sha and security.ssl3.dhe_rsa_aes_256_sha
  • Set them both to false by double clicking on it.


A proxy server is a go-between or intermediary server that forwards requests for content from multiple clients to different servers across the Internet. A reverse proxy  server is a type of proxy server that typically sits behind the firewall in a private network and directs client requests to the appropriate back-end server. A reverse proxy provides an additional level of abstraction and control to ensure the smooth flow of network traffic between clients and servers.

Reverse proxy server benefits:

1.Load balancing: A reverse proxy server can act as a “traffic cop,” sitting in front of your back-end servers and distributing client requests across a group of servers in a manner that maximizes speed and capacity utilization while ensuring no one server is overloaded, which can degrade performance. If a server goes down, the load balancer redirects traffic to the remaining online servers.

2.Web acceleration:Reverse proxies can compress inbound and outbound data, as well as cache commonly requested content, both of which speed up the flow of traffic between clients and servers. They can also perform additional tasks such as SSL encryption to take load off of your web servers, thereby boosting their performance.

3.Security and anonymity :By intercepting requests headed for your back-end servers, a reverse proxy server protects their identities and acts as an additional defense against security attacks. It also ensures that multiple servers can be accessed from a single record locater or URL regardless of the structure of your local area network.

nslookup for multiple servers with a single click.

Nslookup is a command testing and troubleshooting the DNS servers.

Nslookup can be run in two methods.They are interactive and noninteractive. Noninteractive mode is useful when only a single piece of data n eeds to be returned.

Syntax: nslookup [-option] [hostname] [server]

some times it may need to get the dns details for the large number of servers at that time we need to run the command multiple times and capture the values each and time we hit the command.

To simplify this situation i have found an interesting too named as dnsdataview tool.
You can nslookup multiple number of servers at a single click with the clean GUI.

Download the tool here:


Perceiver Monitoring tool

Perceiver is the new monitoring tool.This is introduced because Companies invest in enterprise applications and infrastructure to deliver optimal service to their end-user community. IT organizations are asked to manage more systems with fewer resources, while reducing costs. Performance Analysts and Capacity Planners are often asked to create volumes of custom charts and graphs for different audiences, instead of focusing on high value capacity planning and performance engineering responsibilities that provide a greater return on investment for the company.For this it is the best solution to use the BMC perceiver tool. 

User interface allows non-experts to easily access actionable data 
Ad hoc queries to track, view, and relate performance metrics to business applications 
Common interface for enterprisewide systems and applications
Out-of-the-box value with BMC best practices view

1.Enhances decision-making capabilities by providing direct access to relevant performance data through a dynamic Web interface
2.Provides ad-hoc queries to track, view and relate detailed performance metrics to business applications 
3.Increases the visibility and success of the performance organization by providing a consumer viewing tool for internal customers
4. Simplifies training and use via an easy-to-use web interface, eliminating the need for expert users and additional in-depth training
5. Maximizes the investment in BMC Performance Assurance by greatly increasing the number of direct users
6. Delivers out-of-the-box value with pre-loaded BMC Software Best Practice views including an online drag and drop editor for customization
7. Protects your performance investment by providing a performance viewing tool available across multiple platforms 

ABOUT BMC SOFTWARE BMC Software delivers the solutions:
IT needs to increase business value through better management of technology and IT processes. Our industry-leading Business Service Management solutions help you reduce cost, lower risk of business disruption, and benefit from an IT infrastructure built to support business growth and flexibility. Only BMC provides best-practice IT processes, automated technology management, and award-winning BMC Atrium technologies that offer a shared view into how IT services support business priorities. Known for enterprise solutions that span mainframe, distributed systems, and enduser devices, BMC also delivers solutions that address the unique challenges of the midsized business. Founded in 1980, BMC has offices worldwide and fiscal 2008 revenues of $1.73 billion. Activate your business with the power of IT.


CPU of Load Generator Exceeded 80%

Recently i ran in to a load test and i saw the CPU of Load Generator Exceeded 80% and here are the ways to find out the root cause:

There could be several things, but using 2008 machines on VMs is common. If you are using web vusers should be a small footprint.
  • Check if you have admin rights on the system or not?
  • Is CPU consumption above 80% during the entirety of the test
  • Check for any mismatch in versions in patch version
  • Try to run the agent using "Run as administrator"
  • Check for the mdrv process in the htask manager of the controller and the load generator machines while running the test
  • make sure to have the same patches level on every component, having a version mix is a real problem.
  • Please check if you have the following components installed on your LG machine McAfee Antivirus or  Symantec NetBackup

"Error -27778: SSL protocol error when attempting to connect with host" in load runner

Recently i had some issues with SSL protocol error,while running the scripts in controller i am facing the "Error -27778: SSL protocol error when attempting to connect with host",so finally i got rid of that by using the below steps in the script

Keep the below code at the start of of script

use web_set_sockets_option("SSL_VERSION", "TLS");
    web_set_sockets_option("SSL_VERSION", "1");

This forces the SSL connection to the server to use version 1 of the SSL protocol rather than letting the server suggest a version during the connection handshake.

We had same issue on vugen 11.50 with new patch also then  we enabled the below setting
Run-Time Settings -> Preferences -> Select "WinInet Replay Engine instead of Sockets (Windows Only)."

"HttpSendRequest" failed, Windows error code=12002 - Perf Center Error_load runner error

While running an internal application using the load runner Controller i was getting the "HttpSendRequest" failed, Windows error code=12002 - Perf Center Error .I solved these by following the below steps:

1.Check Vugen runs script as a process or running  vusers asa  thread?
You can check this in Run time settings-General-Miscellaneous-Multithreading then uncheck the value

2.Are you working with WinInet, and the error itself comes from WinInet API not specifically Vugen.We can see in part of the replay  errors comes from resources during the replay where they were timed out.
If we are forced to use WinInet then this will occur, but if you can use Sockets you may want to try that option instead or a Click and Script protocol.
you can uncheck the WinInet replay instead of sockets (Windows only) in the runtime settings-preferences.This will solve the problem.

3.And the another option is to use web_set_max_retries ("X") to increase the limit of 30 sec.You can place this before the action which is failing but  I wouldn't recommend that.

HttpSendRequest time out only occurres when any transaction takes more than 30 sec to connect to server. This default 30 sec time is because of the use of WinInet Replay engine. Thus this error pops up when you are running script with winInet replay and transactions are taking more than 30 sec. Only thing to get rid of this error is to fine tune the whole system and check the backend and servers to see any request que has formed up.

LoadRunner – Script Anatomy Description

When you record and save a LoadRunner script in Vugen, there are a number of files that are created. Here’s what they are, and what they do and identification of the files you can safely delete..

Files Required for PlaybackDuring the course of recording and playback of scripts, the Vugen application will create many files, but only some of them are necessary for playback (either in Vugen or the Controller).

For example, say you have script named PerformancEngineer, with two Actions, Home and Forums, then the required files you would need in the PerformanceEngineer script directory would be:

* PerformanceEngineer.usr
* default.usp
* default.cfg
* globals.h
* Home.c
* Forums.c
* vuser_init.c
* vuser_end.c
* PerformanceEngineer.prm

Here’s what is in each file:

PerformanceEngineer.usr: Primarily, the .usr file defines which actions are used by the script. There are other properties which define which protocols are used and other settings, but most of the info
default.usp: Contains the run logic for the script
default.cfg: Contains the run-time settings (except for run-logic)
globals.h: The global headers file- visible and editable in Vugen
*.c (Action files): These are the action files containing your script code. You can edit these files in ny text editor, if you want. Sometimes it is easier than starting up Vugen
PerformanceEngineer.prm: Containes the parameter definitions
*.dat: Your data files, you can save these in the script directory or somewhere else, even a mapped network drive on a different server
Files Created During Vugen Playback

All of the files listed below can safely be deleted and not affect your ability to use the script.

result1: One or more result directories are created which contain script playback results
*.idx: The .idx files are binary “index” files created by Vugen for holding parameter values
combined_PerformanceEngineer.c: A list of #includes for all of your Actions
logfile.log, mdrv.log: random log files which you will probably never need to look at
mdrv_cmd.txt, options.txt: These text files contain commands and arguments for the script compiler and driver (mdrv) and are created dynamically, so you can safely delete them.
output.txt: This one is important. This file contains all of the log messages generated during script playback. The contents of this file appear in the “Output Window” section of Vugen
output.bak: A backup of the above file
pre_cci.c: Output from the C pre-processor, which contains all of the functions used in your scrip, from all of the Acitons and header files.

In summary, you can delete: *.txt, *.log, *.idx, *.bak, result*, pre_cci.c, combined_*, *.ci
Files Created During Recording

The ‘data’ directory in your script directory contains the script recording data. I usually delete this so it doesn’t get checked into my version control system, but you may want to keep it around if you use the graphical scripting mode and/or you want to compare playback vs. recording. The auto-correlation feature makes use of this data, too, but I haven’t had much sucess using that feature.

(This has been referred from the site

HP Performance Center 12 and HP LoadRunner 12 protocol bundles

Bundle name Protocols
.NET record/replay Microsoft® ADO.NET
Microsoft .NET 2.0, 3.0, 3.5, and 4.0
Windows® Communication Foundation (WCF)
Database ODBC
Oracle (2-Tier)
Developer Unit Test (nUnit, jUnit, and Selenium)
GUI virtual users HP Functional Testing (HP QuickTest Professional)
Java record/replay Jacada
Java over HTTP Vuser
Network Domain Name Resolution (DNS)
File Transfer Protocol (FTP)
Internet Message Access Protocol (IMAP)
Lightweight Directory Access Protocol (LDAP)
Microsoft Exchange (MAPI)
Post Office Protocol (POP3)
Simple Mail Transfer Protocol (SMTP)
Windows Sockets
RMI—Java (includes ORMI)
Oracle E-Business Oracle NCA
Oracle Web Applications 11i (Click and Script)
PeopleSoft Enterprise (Click and Script)
Remote access Citrix Virtual User (ICA)
Remote Terminal Emulation (RTE)
Remote desktop Microsoft Remote Desktop Protocol (RDP)
Protocol available for HP LoadRunner only.Share with colleagues Rate this document
Sign up for updates
Data sheet |
 Rich Internet applications Action Message Format (includes RTMP/AMF)
AJAX Click and Script
AJAX TruClient—Firefox
AJAX TruClient—IE
Flex Virtual User (for Adobe® Flash)
Silverlight Vuser
Mobile TruClient
SAP SAP Click and Script
SAP Mobile Platform (SMP)
SOA MQSeries—Client
Service Test Vuser
Web Services
Templates2 C Vuser
C#.NET Vuser (Visual Studio add-in)
C++.NET Vuser (Visual Studio add-in)
Enterprise Java Beans (EJB)
Java Vuser
JavaScript Vuser
VBScript Vuser
VB.NET Vuser (Visual Studio add-in)
VBNet Vuser
Web 2.0 Web and multimedia, RIA and SOA (combined)
Web and multimedia Media Player (MMS)
Real (RealPlayer)
Web (Click and Script)
Mobile Applications Protocol
Wireless Multimedia Messaging Service (MMS)

"The requested operation cannot be completed because the Terminal connection is currently busy processing a connect operation" Error solved

This is the issue where a user has disconnected from a remote server instead logging off, taking up one of the Remote Desktop sessions.Then we will get the error "The terminal server has exceeded the maximum number of allowed connections".This can be easily corrected by logging into the server in console mode and manually logging off the user.

Whenever we try to connect for first time it will show the same error this is because the user was disconnected from the remote machine instead of logoff.vSo for this the user need to login to the system and log off the session that he opened previously.You can use the below commands to kill the user in remote machine. 

c:\>sc \\THESERVERNAME query TermService


DISPLAY_NAME: Terminal Services
TYPE               : 20  WIN32_SHARE_PROCESS
WIN32_EXIT_CODE    : 0  (0x0)
CHECKPOINT         : 0x0
WAIT_HINT          : 0x0

The Terminal Services was running, it can't be restarted on Server 2003 so we can take a look att the running processes:

(Output truncated to highlight relevant processes)

Image Name PID Session Name Session# Mem Usage

Image Name           PID      Session Name   Session#  Mem Usage

==================== ======== ============== ========= ============

System Idle Process  0                       0                 28 K

csrss.exe            4140     Console        7              2,684 K

winlogon.exe         4220     Console        7              5,840 K

logon.scr            4500     Console        7              1,580 K

Looking at the processes above, I recalled an issue that could sometimes arise with the logon.scr process on Virtual Machines.

Thinking that logon.scr (Process ID 4500) may be the culprit, I decided try killing the process:

C:\>taskkill /s MYSERVERNAME /u MYUSERNAME /p MYPASSWORD /PID 4500 SUCCESS: The process with PID 4500 has been terminated.

After seeing that the process was successfully killed, I tried logging in again and could do so successfully!

How to run Ajax Click n Script in Controller?

AJAX (Asynchronous JavaScript and XML) is a technique for creating interactive Web applications. With AJAX, Web pages exchange small packets of data with the server, instead of reloading an entire page. This reduces the amount of time that a user needs to wait when requesting data. It also increases the interactive capabilities and enhances the usability.
Using AJAX, developers can create fast Web pages using Javascript and asynchronous server requests. The requests can originate from user actions,timer events, or other predefined triggers.AJAX components, also known as AJAX controls, are GUI based controls that use the AJAX technique—they send a request to the server when trigger occurs.

For example, a popular AJAX control is a Reorder List control that lets you drag components to a desired position in a list. VuGen’s support for AJAX implementation is based on Microsoft’s ASP.NET AJAX Control Toolkit formerly known as Atlas.

AJAX Supported Frameworks

The supported frameworks for AJAX functions are:
Atlas 1.0.10920.0/ASP.NET AJAX—All controls
 Scriptaculous 1.8—Autocomplete, Reorder List, and Slider

VuGen supports the following frameworks at the engine level. This implies
that VuGen will create standard Web Click and Script steps, but not AJAX
specific functions:
 Prototype 1.6
 Google Web Toolkit (GWT) 1.4

AJAX Example Script

VuGen uses the control handler layer to create the effect of an operation on a GUI control. During recording, when encountering one of the supported AJAX controls, VuGen generates a function with an ajax_xxx prefix. In the following example, a user selected item number 1 (index=1) in an
Accordion control. VuGen generated an ajax_accordion function.

Note: When you record an AJAX session, VuGen generates standard Web (Click and Script) functions for objects that are not one of the supported AJAX controls. In the example above, the word FILE_PATH was typed into an edit box.



Note: When you record an AJAX session, VuGen generates standard Web (Click and Script) functions for objects that are not one of the supported AJAX controls. In the example above, the word FILE_PATH was typed into an edit box.


Why do you need an HTTP Viewer or Sniffer?
All web applications make extensive use of the HTTP protocol (or HTTPS for secure sites). Even simple web pages require the use of multiple HTTP requests to download HTML, graphics and javascript. The ability to view the HTTP interaction between the browser and web site is crucial to these areas of web development:
  • Trouble shooting
  • Performance tuning
  • Verifying that a site is secure and does not expose sensitive information
How can HttpWatch Help?
HttpWatch integrates with Internet Explorer and Firefox browsers to show you exactly what HTTP traffic is triggered when you access a web page. If you access a site that uses secure HTTPS connections, HttpWatch automatically displays the decrypted form of the network traffic.

Conventional network monitoring tools just display low level data captured from the network. In contrast, HttpWatch has been optimized for displaying HTTP traffic and allows you to quickly see the values of headers, cookies, query strings .

HttpWatch also supports non-interactive examination of HTTP data. When log files are saved, a complete record of the HTTP traffic is saved in a compact file. You can even examine log files that your customers and suppliers have recorded using the free Basic Edition.
Why HttpWatch?

Seven reasons to use HttpWatch rather than other HTTP monitoring tools:
  1. Easy to Use - start logging after just a couple of mouse clicks in Internet Explorer or Firefox. No other proxies, debuggers or network sniffers have to be configured
  2. Productive - quickly see cookies, headers, POST data and query strings without having to manually decode raw HTTP packets
  3. Robust - reliably log thousands of HTTP transactions for hours or days while tracking down intermittent problems
  4. Accurate - HttpWatch has minimal impact on the normal interaction of the browser with a web site. No extra network hops are added, allowing you to measure real world HTTP performance
  5. Flexible - HttpWatch only requires client-side installation and will work with any server side technology that renders HTML pages in Internet Explorer or Firefox. No special server-side permissions or configurations are required - ideal for use against production servers on the Internet or Intranet
  6. Comprehensive - works with HTTP compression, redirection, SSL encryption & NTLM authentication. A complete automation interface provides access to recorded data and allows HttpWatch to be controlled from most popular programming languages.
  7. Professional Support - updates and bug fixes are provided free of charge on our website and technical support is available by email, phone or fax.

Uses of HttpWatch:
  1. Testing a web application to ensure that it is correctly issuing or setting headers that control page expiration
  2. Finding out how other sites work and how they implement certain features
  3. Checking the information that the browser is supplying when you visit a site
  4. Verifying that a secure web site is not issuing sensitive data in cookies or headers
  5. Tuning the performance of a web site by measuring download times, caching or the number of network round trips
  6. Learning about how HTTP works (useful for programming and web design classes)
  7. Alowing webmasters to fine tune the caching of images and other content
  8. Performing regression testing on production servers to verify performance and correct behavior

What is a HAR File and what is the use of HAR??

HAR stands for HTTP Archive. 

This is a common format for recording HTTP tracing information. This file contains a variety of information, but for our purposes, it has a record of each object being loaded by a browser. Each of these objects’ timings is recorded.

The HAR file format is still an evolving standard, and the information contained within is both flexible and extensible. You should expect the HAR file to include a breakdown of timings including:
  • how long it takes to fetch the DNS information
  • how long each object takes to be requested
  • how long it takes to connect to the server
  • how long it takes to transfer from the server to the browser of each object
  • whether the object is blocked or not
The data is stored as a JSON document and extracting meaning from the low level data is not always easy, but with practice, a HAR file can quickly help you identify the key performance problems with a web page, which in turn will help you efficiently target your development towards the areas that will deliver the greatest return on your efforts.

Parameterization in Load Runner

Replacing hard coded values in the script with different values is called Parameterization.

Parameterization used for :
  1. Reducing script size
  2. Avoiding cache effect

Type of Parameters

1.Date/Time – Whenever we have to replace a date value with a parameter, Date/Time parameter is used. Any post with past date is not valid. To keep it updated, Date/Time parameter provides flexibility to get the current or future date. If past date is needed, it handles that too.

2.Group Name -We can generate a parameter on the basis of group that we select on controller for the script while execution. This parameter will only work while running the script on controller.

3. Iteration Number – This replaces the parameter with current iteration number. This is generally used to build some logic. For example- when we want some code in script to be executed alternatively. For this, we will use the iteration number to check whether it is even or odd number and for one of the condition we will execute the function.

4. Load Generator Name – We can also generate parameter while executing the script on controller on the basis of load generator name on which that script is running. This parameter only works while running the script on controller.

5. Vuser ID – When we run the script on controller, it assigns a unique id to each virtual user that emulate during the execution. This parameter type is used –
To print the Vuser ID in an external file for script-debugging purpose.
To segregate transaction volume based on Vuser ID

6. File – Some time we want to pass the specific value in the script. In such cases, we use file and enter the values that want to use during execution. LR provides options to run the script with provided list sequentially or randomly on next iteration.
In few cases we want to use a set of values passed to the script. In such cases, we can use same file for the other parameter value as well.
7. Random Number – As per need, Vugen also generates random value from the provided range.

8.Unique value – In few situations, script is not allowed to pass any duplicate value. In such cases, unique parameter is used to avoid failures due to duplicate value,.

9.User Defined function – Such parameter calls a function whose return value replaces the parameter name.

10. XML – XML Parameter Types are used for multiple valued data contained in an XML structure. XML parameters are widely used with Web Service scripts and with SOA services.

Capture, Filter and Inspect Packets using Wireshark Tool

Here is the demo..

Wireshark, a network analysis tool formerly known as Ethereal, captures packets in real time and display them in human-readable format. Wireshark includes filters, color-coding and other features that let you dig deep into network traffic and inspect individual packets.

This tutorial will get you up to speed with the basics of capturing packets, filtering them, and inspecting them. You can use Wireshark to inspect a suspicious program’s network traffic, analyze the traffic flow on your network, or troubleshoot network problems.

Getting Wireshark

You can download Wireshark for Windows or Mac OS X from its official website. If you’re using Linux or another UNIX-like system, you’ll probably find Wireshark in its package repositories. For example, if you’re using Ubuntu, you’ll find Wireshark in the Ubuntu Software Center.

Just a quick warning: Many organizations don’t allow Wireshark and similar tools on their networks. Don’t use this tool at work unless you have permission.

Capturing Packets:

After downloading and installing Wireshark, you can launch it and click the name of an interface under Interface List to start capturing packets on that interface. For example, if you want to capture traffic on the wireless network, click your wireless interface. You can configure advanced features by clicking Capture Options, but this isn’t necessary for now.

As soon as you click the interface’s name, you’ll see the packets start to appear in real time. Wireshark captures each packet sent to or from your system. If you’re capturing on a wireless interface and have promiscuous mode enabled in your capture options, you’ll also see other the other packets on the network.

Click the stop capture button near the top left corner of the window when you want to stop capturing traffic.

Color Coding
You’ll probably see packets highlighted in green, blue, and black. Wireshark uses colors to help you identify the types of traffic at a glance. By default, green is TCP traffic, dark blue is DNS traffic, light blue is UDP traffic, and black identifies TCP packets with problems — for example, they could have been delivered out-of-order.

Sample Captures
If there’s nothing interesting on your own network to inspect, Wireshark’s wiki has you covered. The wiki contains a page of sample capture files that you can load and inspect.

Opening a capture file is easy; just click Open on the main screen and browse for a file. You can also save your own captures in Wireshark and open them later.

Filtering Packets
If you’re trying to inspect something specific, such as the traffic a program sends when phoning home, it helps to close down all other applications using the network so you can narrow down the traffic. Still, you’ll likely have a large amount of packets to sift through. That’s where Wireshark’s filters come in.

The most basic way to apply a filter is by typing it into the filter box at the top of the window and clicking Apply (or pressing Enter). For example, type “dns” and you’ll see only DNS packets. When you start typing, Wireshark will help you autocomplete your filter.

You can also click the Analyze menu and select Display Filters to create a new filter.

Another interesting thing you can do is right-click a packet and select Follow TCP Stream.

You’ll see the full conversation between the client and the server.

Close the window and you’ll find a filter has been applied automatically — Wireshark is showing you the packets that make up the conversation.

Inspecting Packets

Click a packet to select it and you can dig down to view its details.

You can also create filters from here — just right-click one of the details and use the Apply as Filter submenu to create a filter based on it.

Wireshark is an extremely powerful tool, and this tutorial is just scratching the surface of what you can do with it. Professionals use it to debug network protocol implementations, examine security problems and inspect network protocol internals



Wireshark is the world's foremost network protocol analyzer. It lets you see what's happening on your network at a microscopic level. It is the de facto (and often de jure) standard across many industries and educational institutions.

Wireshark development thrives thanks to the contributions of networking experts across the globe. It is the continuation of a project that started in 1998.

  1. Deep inspection of hundreds of protocols, with more being added all the time
  2. Live capture and offline analysis
  3. Standard three-pane packet browser
  4. Multi-platform: Runs on Windows, Linux, OS X, Solaris, FreeBSD, NetBSD, and many others
  5. Captured network data can be browsed via a GUI, or via the TTY-mode TShark utility
  6. The most powerful display filters in the industry
  7. Rich VoIP analysis
  8. Read/write many different capture file formats: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (compressed and uncompressed), Sniffer® Pro, and NetXray®, Network Instruments Observer, NetScreen snoop, Novell LANalyzer, RADCOM WAN/LAN Analyzer, Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek/TokenPeek/AiroPeek, and many others
  9. Capture files compressed with gzip can be decompressed on the fly
  10. Live data can be read from Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI, and others (depending on your platform)
  11. Decryption support for many protocols, including IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and WPA/WPA2
  12. Coloring rules can be applied to the packet list for quick, intuitive analysis
  13. Output can be exported to XML, PostScript®, CSV, or plain text

mongo DB

MongoDB is a document database that provides high performance, high availability, and easy scalability.

Document Database

  • Documents (objects) map nicely to programming language data types.
  • Embedded documents and arrays reduce need for joins.
  • Dynamic schema makes polymorphism easier.
High Performance
  • Embedding makes reads and writes fast.
  • Indexes can include keys from embedded documents and arrays.
  • Optional streaming writes (no acknowledgments).
High Availability
  • Replicated servers with automatic master failover.
Easy Scalability
  • Automatic sharding distributes collection data across machines.
  • Eventually-consistent reads can be distributed over replicated servers.
Advanced Operations

MongoDB Data Model

A MongoDB deployment hosts a number of databases. A manual:database holds a set of collections. Amanual:collection holds a set of documents. A manual:document is a set of key-value pairs. Documents have dynamic schema. Dynamic schema means that documents in the same collection do not need to have the same set of fields or structure, and common fields in a collection’s documents may hold different types of data.

MongoDB Queries

Queries in MongoDB provides a set of operators to define how the find() method selects documents from a collection based on a query specification document that uses a combination of exact equality matches and conditionals using a query operator.

Deployment Architectures

Although MongoDB supports a “standalone” or single-instance operation, production MongoDB deployments are distributed by default. Replica sets provide high performance replication with automated failover, while sharded clusters make it possible to partition large data sets over many machines transparently to the users. MongoDB users combine replica sets and sharded clusters to provide high levels redundancy for large data sets transparently for applications.

MongoDB Design Philosophy

MongoDB wasn’t designed in a lab. We built MongoDB from our own experiences building large scale, high availability, robust systems. We didn’t start from scratch, we really tried to figure out what was broken, and tackle that. So the way I think about MongoDB is that if you take MySql, and change the data model from relational to document based, you get a lot of great features: embedded docs for speed, manageability, agile development with schema-less databases, easier horizontal scalability because joins aren’t as important. There are lots of things that work great in relational databases: indexes, dynamic queries and updates to name a few, and we haven’t changed much there. For example, the way you design your indexes in MongoDB should be exactly the way you do it in MySql or Oracle, you just have the option of indexing an embedded field.

—Eliot Horowitz, MongoDB CTO and Co-founder
  • New database technologies are needed to facilitate horizontal scaling of the data layer, easier development, and the ability to store order(s) of magnitude more data than was used in the past.
  • A non-relational approach is the best path to database solutions which scale horizontally to many machines.
  • It is unacceptable if these new technologies make writing applications harder. Writing code should be faster, easier, and more agile.
  • The document data model (JSON/BSON) is easy to code to, easy to manage(dynamic schema), and yields excellent performance by grouping relevant data together internally.
  • It is important to keep deep functionality to keep programming fast and simple. While some things must be left out, keep as much as possible – for example secondaries indexes, unique key constraints, atomic operations, multi-document updates.
  • Database technology should run anywhere, being available both for running on your own servers or VMs, and also as a cloud pay-for-what-you-use service.

Key MongoDB Features

MongoDB focuses on flexibility, power, speed, and ease of use:


MongoDB stores data in JSON documents (which we serialize to BSON). JSON provides a rich data model that seamlessly maps to native programming language types, and the dynamic schema makes it easier to evolve your data model than with a system with enforced schemas such as a RDBMS.


MongoDB provides a lot of the features of a traditional RDBMS such as secondary indexes, dynamic queries, sorting, rich updates, upserts (update if document exists, insert if it doesn’t), and easy aggregation. This gives you the breadth of functionality that you are used to from an RDBMS, with the flexibility and scaling capability that the non-relational model allows.

By keeping related data together in documents, queries can be much faster than in a relational database where related data is separated into multiple tables and then needs to be joined later. MongoDB also makes it easy to scale out your database. Autosharding allows you to scale your cluster linearly by adding more machines. It is possible to increase capacity without any downtime, which is very important on the web when load can increase suddenly and bringing down the website for extended maintenance can cost your business large amounts of revenue.

Ease of use

MongoDB works hard to be very easy to install, configure, maintain, and use. To this end, MongoDB provides few configuration options, and instead tries to automatically do the “right thing” whenever possible. This means that MongoDB works right out of the box, and you can dive right into developing your application, instead of spending a lot of time fine-tuning obscure database configurations.


MongoDB is a server process that runs on Linux, Windows and OS X. It can be run both as a 32 or 64-bit application. We recommend running in 64-bit mode, since MongoDB is limited to a total data size of about 2GB for all databases in 32-bit mode.

The MongoDB process listens on port 27017 by default (note that this can be set at start time - please see mongod options for more information).

Clients connect to the MongoDB process, optionally authenticate themselves if security is turned on, and perform a sequence of actions, such as inserts, queries and updates.

MongoDB stores its data in files (default location is /data/db/), and uses memory mapped files for data management for efficiency.

MongoDB can also be configured for data replication.

Additionally the MongoDB Management Service (MMS) application for managing MongoDB clusters using a simple user interface. MMS provides backup and monitoring. MMS is available to all users in the cloud and on-premises as part of MongoDB Standard and Enterprise Subscriptions.Agile and Scalable

MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database. Written in C++, MongoDB features:
Document-Oriented Storage »

JSON-style documents with dynamic schemas offer simplicity and power.
Full Index Support »

Index on any attribute, just like you're used to.
Replication & High Availability »

Mirror across LANs and WANs for scale and peace of mind.
Auto-Sharding »

Scale horizontally without compromising functionality.
Querying »

Rich, document-based queries.
Fast In-Place Updates »

Atomic modifiers for contention-free performance.
Map/Reduce »

Flexible aggregation and data processing.
GridFS »

Store files of any size without complicating your stack.
MongoDB Management Service »

Manage MongoDB on the cloud infrastructure of your choice.
MongoDB Enterprise »

The best way to run MongoDB in production. Secured. Supported. Certified.
Production Support »

Our experts at your fingertips. Get access to our global support organization 24x365