What is a Load test
A load test is a test that measures the performance of a system based on the load of simultaneous users.
The objective is to predict the maximum load that your application can handle.
It also makes it possible to:
- highlight the vigilance points of the system
- correct issues related to load
- and finally to validate the performance of the application, software or website under test
In addition to simulating the number of simultaneous connections, a load test also makes it possible to know the system’s response time under load, its robustness, scalability, or to size servers, jvms …
In other words, there are at least five types of load tests:
- The load test or performance test: which highlights the sensitive and critical points of the technical architecture. The metrics that are taken into account in this type of load test are the following: response time, system load, database query, etc.
- The stress test or limit test: which makes it possible to determine and predict the maximum capacity that an application can handle, when an application is tested with an activity significantly higher than a regular activity
- Soak/Endurance test: which checks the application during a long period under test to detect stability problems (e.g. memory leak)
- Failover/Resilience Test: which simulates a failure during a load test to check the robustness.
- Spike Test: which is made to observe the behavior of the server(s) during a sudden change of load.
Why and when to perform a load test?
Carrying out a load test is necessary to avoid any failures of the application, servers and therefore websites.
The objective is to satisfy your customers, to guarantee them a better navigation experience, but also to limit any loss of productivity.
This ensures that your web applications run smoothly in all circumstances.
It is recommended to carry out a load test beforehand:
- Before your website, web application or business application is put into production and for each new version
- When you plan a major communication or advertising plan
- When you are “affected” by seasonal sales
It is recommended to carry out a load test downstream:
- When your site or application is slow
- When you want to reproduce a production problem under identical conditions
Within Shift-Left move, it is recommended to integrate load test in project build factory and as a consequence automate as much as possible the process.
Key steps to set up a load test: what methodology?
- The pre-requisites: having a monitoring system at your disposal, knowing your application, its architecture, 3rd parties used
- Preparation of load test scenarios: define one or more sequences of actions performed by a real user.
- Launching the load test: a short pre-test is usually performed to ensure that there is no malfunction and then launching of the load tests.
- Interpretation of results: set up meaningful graphs and correlate them with the graphs collected through monitoring
- Automation: define a strategy in line with technological constraints and ambitions and implement it
Who is concerned?
All companies, from start-up to large company:
- developing in house software, business applications or e-commerce websites
- using in a critical way third party applications, ERPs, cloud hosted or SAAS applications
Examples of softwares used in load testing
Several tools exist to perform a load test:
- the standard and most popular one Apache JMeter
- Micro-Focus LoadRunner
- Silk Performer
Why ask experts
Your legitimate expectations
- You want to anticipate and solve application performance problems
- You want to avoid breakdowns and malfunctions of your applications
- You want to ensure that all your applications support the expected load under any circumstances, thus limiting productivity losses
- You want to integrate the load testing solution in your DevOps Tool chain and build factory
- You want to become autonomous on future load testing campaigns
How our experts can help you:
Ubik-Ingenierie can help you:
- to select the most important navigation scenarios,
- to carry out a load tests on you application
- to diagnose and fix performance problems of your applications or systems
- to improve performances and better scale your applications
- to implement and setup the tools adapted to your environment
- to develop your skills through training on the necessary tools
- training and coaching your internal experts
- by developing custom plugins for those tool (plugins for custom protocols, reporting, …. that you can open-source or keep in-house)
Contact us now to get this expertise!
- Ubik Load Pack is a set of Enterprise Grade plugins for Apache JMeter that handles complex protocols and auto-correlation
- We provide professional services for Load Testing
Philippe Mouawad is a developer, committer and member of the JMeter Project Management Committee at Apache.
He is also the co-author of the book Master JMeter : from load testing to DevOps. The images used in this blog are used with the permission of the authors. We thank them for that !
He currently works as an Architect and technical expert for Ubik-Ingenierie where he leads among other things the development of UbikLoadPack a set of Commercial Plugins for Apache JMeter allowing to load test different protocols like MPEG-DASH, Http Live Streaming (HLS), HSS, HDS, GWT, JavaSerialization, Oracle applications.