|
Today, Web services get a great deal of traffic. To effectively handle the traffic and offer improved performance for business-critical Web services, companies need to predict the maximum load the web services 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 play engines. The distributed playback 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 Add Play Engine Screen) in remote machines with different hardware configurations.
Starts the load test execution in the distributed play engines.
At the end of the test execution, automatically collects the test logs generated in the distributed play engines and stores it in the respective directories.
QEngine Distributed Play Engines
Distributed play engines are the machines where QEngine is installed with RMI Server for remote test execution. The functions of play engines are as follows:
The play engine is where the user requests sent by the Test Controller is replayed to measure the performance statistics.
The play engine 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 play engines. The user requests generated for the configured test parameters, the responses received from the distributed play engines and the test reports generated and sent by the distributed play engines are stored in the common database.
Steps to enable Distributed Load Testing
The steps to enable distributed playback are as given below:
You can skip steps 1 to 3, if you have already generated the web service scripts and configured the test parameters for load test execution.
Install QEngine in a machine which acts as the Test Controller.
Start the QEngine Server, open QEngine Web UI and generate the web service scripts as per the steps given in the topic Adding a New Web Service.
Parameterize the input parameters (if required) as per the steps given in the topic Parameterizing Load Test Scripts.
Define test parameters such as user profiles and workloads. Configure server monitoring and database monitoring (optional). Create test cases to associate the profiles and workloads. To know the details, refer to the steps given in the topic Defining User Profiles, Defining Workloads, Configuring Server Monitoring, Configuring Database Monitoring 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 the StartDistributedAgent.bat/.sh file in <QEngine_Home>/bin directory.
From the machine where QEngine Server is installed (Test Controller), open QEngine Web UI and choose the Settings tab from Web Service Performance Testing Home page. Scroll down to the end of the page and from the last option Distributed Playback in this page, select the check box Use Distributed Playback and click Apply.
Click on the button Add Play Engines. The Play Engine Configuration screen will be displayed.
In this screen, configure the Play Engine IPs, RMI port and the maximum virtual users to be simulated in the distributed play engines. This is to enable the Test Controller to remotely contact the distributed play engines to perform distributed load testing. For details of configuring Play Engine IPs, Port, and Max Users, refer to the context-sensitive help in the following link .
After configuring the Play Engine IPs, 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 after load test execution and stored in the common database. The test logs will be stored in the respective directories in the Test Controller.
|