Skip to content

Conversation

@afabiani
Copy link
Member

This PR is an enhancement of the WMS performance test generator. It includes several upgrades:

The JMeter test plan

This one has been improved not only to allow is to setup everything from the global Thread Group environment variables, like the HOST, the CSV file to use, if we wont to run TILED or UNTILED tests,... but also to execute the Loop Controllers sequentially with an esponential number of concurrent requests. This will help to automatize the test.

The Python CSV random requests generators

Those have been fixed in order to correctly fetch the geowebcache gridsets definition and generate requests aligned to the grid tiles origin.

There are also few more improvements allowing us to decide from the command line the number of requests to generate and the zoom levels we would like to include/use to randomize them

How to use it
=============

1. Open the "test_all.jmx" test plan on JMeter and set the main parameters
   HOST
   HTTP_SCHEMA
   HTTP_PORT
   (other optional)

2. Edit the "generate_csv.sh" and set the "CAPABILITIES_URL" accordingly

3. Make sure the "tiled/gridsets/geowebcache.xml" files contains the definitions you would like to use in case of Tiled requests

4. Generate the random requests on the CSV files

    ./generate_csv.sh <layer_name> <gridset_id> "x0 x1 y0 y1" <count> <zoom_levels>

    e.g.:

    ./generate_csv.sh osm:roads EPSG:3857 "-8262132.606676765 -8122983.243185173 5681544.414062212 5741972.112518539" 5000 "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21"

5. Toggle the "Tiled" or "Untiled" controllers from the JMeter test plan, update the global settings accordingly and run the tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants