|
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.

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.
|