r19 - 22 Dec 2008 - 17:02:27 - BeckyHYou are here: Wiki >  AppLogic24 Web > CatMiscLoad
ALERT! AppLogic 2.4 Documentation The latest production release is AppLogic 2.8.9

LOAD: Load Generator

Latest version: 1.2.1

LOAD Icon 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

Resource Minimum Maximum Default
CPU 0.1 2.0 0.30
Memory 160 MB 1 GB 160 MB
Bandwidth 1 Mbps 100 Mbps 1 Mbps

Terminals

name dir prot. description
ctl in any 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

Volume Description
config Read-write volume for configuration data.

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.

LOAD CPU LOAD memory Target size Sustainable rate
0.3 160 MB 69 Bytes 1,200 requests per second
0.3 160 MB 60 Kb 600
0.3 160 MB 230 Kb 300
1.0 160 MB 69 Bytes 3,000
1.0 160 MB 60 Kb 1,500
1.0 160 MB 230 Kb 900

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.

gui example

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

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

stop button start button   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 example

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.

LampX4 SLA example

Load Generating Application

The diagram below shows a simple application which generates load through its net gateway.

app example

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.

Related Documents

Questions and Comments

IDEA! To post a question about this appliance, visit our forum.


-- StephenQ - 08 Jan 2008

 
Copyright © 2005-2010 3tera, Inc. All Rights Reserved.
%