Running a performance test

on 3 January 2019 Automation, DEVOPS, ECOMMERCE, JMETER, LOAD_TESTING, MicroFocus Load Runner, Neoload, PERFORMANCE, PRODUCTIVITY, PROFILING, Training, TUNING and Tags: , , , , , , , , with 0 comments

What is a Load test

Definition

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.
Load Test
  • 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
Stress Test
Limit Test
  • Soak/Endurance test: which checks the application during a long period under test to detect stability problems (e.g. memory leak)
Soak Test
  • Failover/Resilience Test: which simulates a failure during a load test to check the robustness.
Failover Test
  • Spike Test: which is made to observe the behavior of the server(s) during a sudden change of load.
Spike Test

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
  • Neoload
  • Silk Performer
  • Gatling

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!

About the author:

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.

About us: