Realistic Load Simulation

During the tests Spatineo Performance typically sends thousands of test requests to the server(s) under test within a relatively short period of time. The requested area of the place-related requests, like the ones using WMS GetMap or WFS GetFeature operation, is varied from one request to another to ensure realistic test data. The variation algorithm leverages the same technology that’s used for Spatineo Monitor for generating test requests for continuous service availability monitoring. This request area variation also helps to verify the functionality and efficiency of any caching or tile pre-calculation scheme you might have configured to improve the service performance.

When a new test is starting Spatineo Performance pre-generates all the test requests scheduled to be run during the test. It also ensures that there are enough fresh test servers available in our data centres to run the tests and collect their results for analysis. Each tests runs on a set of cloud-based high CPU and bandwidth servers dedicated for your particular test only to ensure exact and reliable measurements.

Tests in Spatineo Performance are designed simulate situations where a large number of users access the service at the same time rather than a few users using the service very intensively. This means that a number of new requests are started each second during the whole test regardless of whether the previously started requests have yet finished or not. Some other performance test solutions have chosen to create test load using a specific number of simulated users, each doing only one request at a time, and starting a new request as soon as the previous one is completed. Typical Spatial Web Service client applications often create more then one request at a time however to load the required data more efficiently in smaller pieces.

Our decision of measuring the generated load only by the number of new requests created per second creates tests that are sometimes quite demanding for the servers because of the number of cumulating unfinished requests. We do this because it’s also what also happens in real life during the peak loads with a large number of simultaneous users. You can approximate the number of the simulated concurrent users for a test by dividing the amount of requests by the average request rate of your typical client applications when using the services.