Concurrency is a tricky subject because it means different things to different people and often, when clients ask us to measure their concurrency, they’re actually asking for something else entirely. In this post, we’ll attempt to explain what concurrency means to us and how it can benefit your business. You might want to put the kettle on…
In computer science, the word concurrency refers to a property of systems in which several computations are executing simultaneously. In common usage, concurrency is also about multiple things happening at the same moment in a single instance.
When we carry out load testing on a client’s solution, we are trying to measure site performance, usually ahead of a marketing strategy or promotion that is expected to generate a lot of site visits. In this instance, we would test the number of simultaneous connections that can be made by web users at the same time.
It illustrates to the client whether their solution would cope with a surge in traffic at a set period, during an ad break on television for example.
The other thing we would look at is user journey, which looks at how many users can be interacting with a web page within the same time frame. In order to measure the capacity of a solution in this instance, we would simulate a user journey from clicking onto the page itself to the time they might spend reading or browsing.
By replicating a server and its corresponding set of instructions (i.e. browse a set number of pages, add items to the cart and proceed to checkout) we can create the test scenario; the illusion of a number of simultaneous users.
Load testing allows a client to see how much their site can cope with, without the performance becoming impaired. The information that we provide to clients can help to identify any bottlenecks, and provide a maximum load for the solution as it stands. It is a useful way to see what the remote solution is like from the end user’s (the customer’s) point of view.
Used in conjunction with a full solution monitoring package such as New Relic – which can easily be installed on a server – load testing is invaluable. New Relic – and monitoring packages like it – picks up sample data such as log requests, CPU and response speeds. Tying a load test in with New Relic means that bottlenecks can be matched up to the sample data and specific problems can be pinpointed and rectified.
We would advise load testing to be carried out when the server is at a restful state. Many people choose to have it carried out during the early hours of the morning, for example. This is because the server will be pushed to its capacity during the test and is likely to experience some downtime. The good news is that the tests only take between 30 and 60 minutes so the average disruption time is only 45 minutes. Winner!
For more information about load testing or any other UKFast services, feel free to give us a call on 0208 045 4945.