The Grid feature is the primary method of launching cloud-based servers in SOASTA CloudTest. Grids allow you to easily determine how many servers to launch and how to recover from failures when allocating servers from the cloud provider. Use the Grid Manager to manage elastic, cross-cloud computing resources, used in one or more load tests.
The Grids Manager allows you to setup and view your cloud-computing resources, including Test Server and Results Server instances from multiple locations that are used to generate load.
You can create one or more Grids for use in tests that deploy cloud resources and match those with SOASTA CloudTest Test Server instances.
You must first define at least one Location before you can setup a Grid for managing cloud resources. The Location must be cloud-enabled. See Using Locations.
Creating a New Grid
- To get started, select Central list > Grids
Then, click New. When you do so, the Grid Manager, General page appears.
- Enter a Grid Name, an optional Description, and a Save Location (this is the folder where the grid settings will be stored).
- Click the Next button to go to Step 2.
When you do so, the Grid Manager, Server Instances page appears. Using this page, define both Test Server and Result Server instances. Test Server instances will be used to generate load, and Results Service instances will be used to analyze and report on the test data in real-time.
- Enter the number of Test Server instances to be created per Location, or select a Composition(s) to automatically determine the number for you.
- Define Result Server instances per Location as a ratio to Test Server instances or as a Fixed Amount.
- Optionally, you can propagate grid-related settings such as Locations from your test composition. Click Select Composition(s)and specify the composition(s) to use in this grid.
- Optionally, in the Server Instances page, check Show Advanced Settings to perform any of the following tasks:
- To specify a Pending Timeout for this location (e.g. different timeouts for Amazon EC2 and GoGrid).
Specify the time in seconds until the allocation request will timeout and be added to the retry queue.
For example, after an instance is requested, it stays in the "Pending" state until it's ready, and then changes to "Running". The time it takes to reach "Running" can be anywhere from 30 seconds to 10 minutes. Use this setting to specify a cut-off in seconds. By default, any servers that don't reach "Running" after 5 minutes are thrown away, and are re-tried.
- To specify server classes for Test Server or Results Service instances
Configured Server Classes can be selected from the Server Class drop-down. See Server Classes.
Depending on the cloud vendor, allocations settings may vary.
- For Amazon EC2, the grids will by default automatically choose the EC2 availability zone for new instances via the Let the cloud provider pick the zone for me option. This can reduce the time needed to allocate large numbers of instances. To override this behavior, and specify a zone, click the "Show advanced settings" box in Step 2 of the wizard and then select a different Zone Distribution option instead.
- To specify a zone in which servers will be launched
With Zone Distribution > All in the Same Zone radio button checked, select a zone from the available zones in the drop-down. Optionally, check the Failover to different zone(s) if initial allocation fails box if you want CloudTest to use different zones on retry.
- To switch from the default server allocation algorithm (which tries to allocate servers all in one zone) to another algorithm that will get servers in groups of 25 by doing round robin on all of the zones
Check the Distribute evenly across all zones box to use the alternate round-robin algorithm for server instances.
- Click the Next button to go to Step 3. The Summary and Deploy/Tear Down page appears.
Use the Summary and Deploy/Tear Down page to review your settings before using Deploy Instances. Click the Back button to return to the prior screen(s) to change settings.
- In the Summary and Deploy/Tear Down page, click the Advanced Settings tab.
- Optionally, check Advanced Settings and change any of the following defaults as necessary
The following Advanced Settings are available for grids via the Summary and Deploy/Tear Down page:
- Allocation block size
This setting will specify the server block size (e.g. the number of server instances to try at once).
For example, the user wants 500 Test Servers. Typically, if the user wants a large number of Test Servers, we can't ask for them all at once. If CloudTest asks for 500 Test Server instances all at once, the request will probably be rejected ("insufficient capacity", etc.). But, if CloudTest asks for them in blocks of 25, then some will succeed and some will fail. CloudTest can take just the failed ones and re-try them in a different zone.
- Allocation failure retry count
For the total allocation request, specify a maximum number of times to retry.
The re-try algorithm described above in the Block Size description includes two types of errors (in the case of Amazon EC2):
- Failures that are on the Amazon side, e.g. "Insufficient capacity". For these errors, we immediately fail over to a different zone.
- Failures that are probably due to networking issues (e.g. network connection reset). For these errors, we will re-try in the same zone, but only a certain number of times.
- Allocation failure retry delay
For the set of allocation requests, specify a number in seconds between retries.
For same-zone re-tries, delay this number of seconds first.
- Use Extra Large Instances If Necessary
This default, if checked, provides the ability to Fail Over to XL Instances. This setting permits XL instances to be called upon if allocation to L instances is insufficient.
- Automatically Monitor Grid
Start the default monitors for each server. See Default Monitoring
- Automatically Delete Monitors
When checked, automatically delete default monitors when the grid is shut down. To review the monitoring data later on, turn off this setting. This is usually left on, because the monitoring data is usually used just to "keep an eye on things" during the test.
- Check Servers automatically
Initiate "check servers" as part of this server deployment.
This setting should be left on. If it's checked, then after all servers have reached the "Running" state, we do a "health check" of the CloudTest services (e.g. Test Server) on each server.
- Check Server retry count
Specify the number of times to retry the server allocation.
Usually, the first "health check" of a server will fail—just because the machine has booted, it doesn't mean that JBoss has finished starting, etc. So, CloudTest will re-try, if necessary. The max number of retries is this setting.
- Check Server retry delay
Specify the time in seconds to delay between retries.
To deploy a server based on an Amazon EC2 High Performance Computing class, use the Grid Manager, Server Instances page, Server Class drop-down ( whenever Show advanced settings is checked).
- Click Deploy Instances when ready. A spinner will appear while the default monitor is starting and stops when that phase is complete.
Clicking Proceed with X of X while it's active displays these subsequent options:
- Terminate Pending – Choose this option to terminate the remainder of the server allocation tasks. When you do so, the Proceed window disappears and the grid is ready to be used with the number of servers indicated by the Proceed button (i.e. 4 of 11, etc.)
- Keep Allocating Pending – Choose this option to resume the server allocation for the remaining servers.
If Proceed was clicked, and then Terminate Pending, the Proceed window will go away. Then the following behavior will occur:
- Any already-allocated servers will “proceed” through the usual grid process, including server-health checking.
- Any servers that were still pending will be terminated.
The Grid Ready icon will display only once (i) and (2) are complete.
The Stopped icon will display whenever all of the requested servers failed to be allocated or if the Stop Deploying button is clicked.
When grid use is complete, click the Tear Down Instances button. When you do so, the grid indicates progress in the status area of the Journal tab.