AppLogic 2.9 Documentation The latest production release is AppLogic 3.0.30 LOAD: Load Generator
Latest version: 1.2.8-1
| At a Glance |
| Catalog | System |
| Category | Misc. Appliances |
| User volumes | yes |
| Min. memory | 160 MB |
| OS | Linux |
| Constraints | no |
| Questions/Comments | Ask Forum |
Functional Overview
LOAD is a load generator which generates HTTP requests on its out terminal.
Load generation is controlled through a simple web interface (GUI) exposed by LOAD. The GUI is accessed through the ctl terminal. The GUI also displays historical results of load generation.
Boundary
Resources
Terminals
| name | dir | prot. | description |
ctl | in | http | Exposes a web interface (GUI) for controlling load generation. |
out | out | any | Output for making HTTP requests. |
mon | out | cce | Used for performance and resource usage statistics. This terminal can be left unconnected. |
User Volumes
This volume stores configuration data and temporary files. It should be 5 MB in size.
Properties
| name | type | description |
max_rate | int | Maximum rate of requests per seconds. This is the maximum rate which the GUI will allow to be selected. Default: 100 |
username | string | User-name for web-based authentication. If empty, no authentication is performed. Default: empty |
password | string | Password for web-based authentication. This property is not used if username is empty. Default: empty |
Performance
LOAD is capable of generating a maximum of 4000 requests per second. As a reference for determining resource allocation for LOAD, the following results were obtained generating requests against static targets on a WEB appliance with 2.0 CPU's and 2 GB of memory.
Error Messages
The following messages may appear in either the appliance log file or the system log of the grid controller when the appliance fails to start:
- httpd did not start
- load setup failed
- /var/www/html/.rc.local script is not executable
- /var/www/html/.rc.local script failed, ret=ret
- config volume is missing.
- Failed to set up logs on /mnt/config/3tera/log.
Web Interface (GUI)
LOAD exposes a web interface which can be used to control its operation. This GUI is accessed through the ctl terminal.
Above is an example of the GUI during operation. The slider controls the number of requests per second which LOAD generates through its out terminal. Load is repeatedly generated in 5 second spurts and the most recent results are reported in the GUI:
-
Fetches per second: the number of pages per second fetched.
-
Bytes per second: mean number of bytes per second fetched
-
Mean Bytes per fetch: mean number of bytes fetched per page
-
Fetch time: mean, maximum and minimum number of milliseconds to complete a fetch once the first-response has been received
-
First response: mean, maximum and minimum number of milliseconds before the first response to a request
-
HTTP responses: a list of HTTP response codes and the number of fetches per second returning each. A useful description of status and response codes can be viewed here.
The graph shows results from the last 72.5 minutes of load generation and includes:
- a graph of requests per second selected by the user
- a graph of fetches per second performed
- a graph of bytes per second fetched
The edit button allows the list of target URL's to be edited. If more than one URL is listed, LOAD selects from the list randomly for each request. URL's are listed in a format which depends on whether or not the out terminal is connected to a gateway:
- If LOAD is connected to a gateway with internet access, URL's are listed by resolvable domain name or IP address. For example:
-
http://mysite.com/index.html causes LOAD to request index.html from the document root of mysite.com.
- If LOAD is directly connected to an appliance such as WEB, URL's are listed relative to the
out terminal. For example:
-
http://out/index.html causes LOAD to request index.html from the document root of an appliance connected to the out terminal.
The stop and start buttons stop or start load generation. Load generation can also be stopped by setting the rate of requests per second to zero.
Typical Usage
LampX4
The diagram below shows how LOAD can be connected to the LampX4 reference application. Pointing a browser at the load_in gateway brings up the web interface for LOAD.
LampX4 with SLA
The diagram below shows how LOAD can be connected to a LampX4 reference application which also includes the SLA appliance. Pointing a browser at the load_in gateway brings up the web interface for LOAD. The SLA appliance automatically starts and stops individual web servers within WEBx4 in response to changes in the amount of load processed by WEBx4. See SLA for details.
Load Generating Application
The diagram below shows a simple application which generates load through its net gateway.
Notes and Links
Notes
- It is good practice to set the
username and password properties of LOAD to prevent unauthorized access.
- Closing the browser session to the LOAD GUI does NOT stop load generation. To stop load generation, use the stop button, or select 0 requests per second, or re-start the appliance.
Open source and 3rd party software used inside of the appliance
LOAD uses the following 3rd party/open source packages in addition to the 3rd party/open source packages used by its base class WEB5.
To see the full list of open source packages used in this appliance, please see its implementation design.
Related Documents
Questions and Comments
To post a question about this appliance, visit our forum.
-- StephenQ - 25 Jan 2010
Copyright © CA 2005-2011. All Rights Reserved.