Overview
These days web applications and websites get a great deal of traffic.
To effectively handle the traffic and offer improved performance for business-critical
web applications, companies need to predict the maximum load the web server
can adequately handle using a distributed architecture. To measure the
performance of such a system, QEngine provides the Distributed Load Testing
option.
Illustration

Understanding
Distributed Load Testing
QEngine distributed load testing generates load from one single Test
Controller and simultaneously distributes the configured load in the remote
agents. The distributed load test engine has the following components:
Test Controller
Test Controller is the machine were QEngine
is installed. The functions of Test Controller are as follows:
Generates and
distributes the load (Max Users configured in the Agent Configuration
Screen) in remote machines with different hardware configuration.
Starts the
load test execution in the distributed agents.
At the
end of the test execution, automatically collects the test logs generated
in the distributed agents and stores it in the respective directories.
QEngine Distributed Agents
Distributed agents are the machines where QEngine
is installed with RMI Server for remote test execution. The functions
of agents are as follows:
The agent is
where the user requests sent by the Test Controller is replayed to measure
the performance statistics.
The agent automatically
stores the test reports generated during the load test execution in the
common database.
Common Database
The common database is used both by the Test
Controller and the distributed agents. The user requests generated for
the configured test parameters, the responses received from the distributed
agents and the test reports generated and sent by the distributed agents
are stored in the common database.
Steps
to enable Distributed Load Testing
The steps to enable distributed load testing are given below:
You can skip steps 1 to 3, if you have already recorded the transactions
and configured the test parameters for load test execution.
Install QEngine in a
machine which acts as the Test Controller.
Start QEngine Server,
open QEngine Web UI and record the transactions as per the steps given
in the topic Recording
Transactions.
Parameterize the recorded
URLs (if required) as per the steps given in the topic Parameterizing
Load Test Scripts.
Define test parameters
such as loads. Configure server monitoring and virtual Ips (optional).
To know the details, refer to the steps given in the topics Creating
Loads, Configuring
Server Monitoring, Configuring
Virtual IP Addresses and Creating
Load Test.
As per your requirements
to distribute the load, install QEngine in machines with different hardware
configurations. Start remote agent in each of the distributed machines
using StartDistributedAgent.bat/.sh
file in <QEngine_Home>/bin
directory.
Open QEngine Web UI from
the machine where QEngine Server is installed (Test Controller), click
Settings link from Web Performance
Testing Home page left-side panel. From the Settings page, select the
option Distributed Playback to
view the Distributed Playback screen. Select the Use
Distributed Playback option and click Apply.
Click the button Add Agent Details. The Agent Configuration
screen will be displayed. You can configure the agent for distributed
load test in this screen.
In this screen, configure
the Agent IPs, RMI port and maximum users to be simulated in the distributed
agents. This is to enable the Test Controller to remotely contact the
distributed agents to perform distributed load testing. For details of
configuring agent IPs, Port, and Max Users, refer to the context-sensitive
help in the following link
.
After configuring the
agent IPs, RMI Ports, and Max Users, start the load test execution as
per the steps given in the topic Executing
Load Test.
The test reports will
be generated and stored in the common database. The test logs will be
stored in the respective directories in the Test Controller. To know the
report details, refer to the topic Load
Test Graphs/Reports.