Magento 2 Performance Testing in 2024: Tools for Testing

Magento 2 performance testing is crucial for ensuring a seamless online shopping experience, free from the hassles of queues and limitations of physical store hours. This testing becomes especially vital for both B2C and B2B merchants as they prepare for anticipated sales transactions. By proactively addressing performance issues, merchants can optimize their platforms, readying themselves for increased traffic and ensuring their websites can handle the demands of modern e-commerce efficiently.

Types of Performance Testing

Magento Load Testing – what does it mean for an eCommerce merchant

Magento load testing is an essential process to ensure that an online shopping platform not only meets but exceeds the minimum standards of speed and personalization. In the competitive realm of e-commerce, a high-performing website is not just desired – it’s expected. For merchants globally, the ability of their website to respond quickly to each user and process personalized experiences directly influences the likelihood of a purchase. Any performance that falls below these standards necessitates immediate attention. Through Magento load testing, merchants can identify and remedy any issues, guaranteeing their websites are optimally equipped to handle varied customer demands and transaction loads efficiently.

Magento Stress Testing

Magento stress testing is a critical component of performance testing for any Magento e-commerce site. This type of testing is designed to push a website to its limits, simulating conditions beyond normal operational capacity. The primary goal is to identify the breaking point of the site and understand how the system behaves under extreme stress.

Unlike regular load testing, which assesses performance under expected traffic levels, Magento stress testing deliberately imposes excessive demand on the site. This approach is vital for e-commerce platforms, as it helps in uncovering potential issues that could arise during unexpected spikes in traffic, such as during a major sale event or a marketing campaign.

During Magento stress testing, various aspects of the site are scrutinized, including server response times, database throughput, and the ability to handle concurrent user requests. By incrementally increasing the load beyond the expected maximum, this testing reveals critical vulnerabilities that might not be apparent during standard performance evaluations. It can uncover issues like server crashes, slowdowns, or failures in transaction processing under heavy load.

Understanding these limitations allows developers and site administrators to make informed decisions about necessary infrastructure improvements, scalability options, and performance optimizations. Implementing these changes can significantly enhance the site’s resilience, ensuring it remains functional and responsive even during peak demand periods, thereby providing a seamless shopping experience for customers.
Read also: Improve Magento 2 performance with AWS CloudFront

Conducting regular Magento stress testing is a proactive measure that can save businesses from potential revenue loss and reputational damage caused by website downtime or poor performance. It’s an essential step in ensuring that a Magento e-commerce site can confidently handle any level of traffic and maintain high standards of customer satisfaction.

Tools for testing

For eCommerce administrators and developers, there are many ways to test and measure Magento performance. There is a number of tools to check out and use in the general marketplace. However, a warning to merchants – proceed with caution when selecting tools – know there are many ways to measure performance and as importantly there are many factors any tool must consider to provide back intelligent reporting. At Atwix, we trust and use only a few Magento testing tools. We also built and heavily rely on our own tool that zeroes in on Magento performance testing.

The most common performance testing tool and arguably the most generic is Google Page Speed Insights. For Magento websites, however, this tool has limited value. Google Insights was built for universal platform testing rather than platform-specific testing. It must be understood that any test results using Google’s tool must be evaluated with an understanding that the underlying measurements are platform agnostic. If you are looking for results precalibrated for a Magento store, you can use the Atwix Performance check tool, specifically for Magento be it Open Source, On-Premise, or Commerce Cloud. The Atwix tool takes into account Magento’s various configurations.

Regardless of what tool you select and use, and you should use a tool regularly, you must continually benchmark results taking into consideration snapshot in time conditions. Frequently, these momentary tests do not weigh extreme conditions like a Black Friday sale. To emulate these conditions, we encourage that you run Load Tests in advance of testing to more accurately prepare you for the heavy site traffic.

What is Load Testing

Load testing is, in essence, putting demand on a system and measuring its response. It helps to determine a website’s sustainability, simulating real-life conditions. Load testing factors in not just how many users shop at once but what the various users might request (intentional or not) all at once during API calls, Magento 2 search page, billing lookups, etc.

For example, load tests check how many users can do the following actions at the same time:

  • Browse the website
  • Add products to cart
  • Go through checkout and place order
  • Use website search
  • Manage account

Load tests are performed to recognize upper limits a website can be expected to support heavy activity at the same time delivering optimal user performance expectations.

As a merchant, you may need to perform load testing if you’re:

  • going to release a new website
  • moving to a new server
  • planning a special sale
  • releasing a new product

How to Get Started to Do Load Testing

There are several stages of load testing: preparation, data generation, data gathering, and running the tests (often in several iterations).

Preparation

As a first step, you should prepare a test environment to check the behavior of the system. We suggest you prepare an environment for extreme Magento load testing. You need to make a copy of the website. Make sure to use an exact copy of the production server, both reflecting software and hardware environments. Important note: do not run any performance load tests on the same servers where you host your production website.

Test Scenario Adjustments

For merchants using Magento 2, it has a built-in Performance toolkit. This native functionality helps to create a needed amount of customers, products, etc. For technical details or to just learn more, check out our article on Magento 2 performance toolkit.

While practical for those using Magento out-of-the-box, for those requiring customization, we encourage working with your solution partner or website development agency. (If you require guidance on what tools you need to consider, feel free to contact us.) Effectively, not all tools will work for all testing environments. A customized customer registration flow or other implemented customizations on the store might be required to optimize Magento performance.

The customer registration, for example, will look like this:
Customer registration for Load tests

During the test scenario adjustments and information about existing data in the store (about products, categories, customers, URLs) are collected. If the store is new or fresh, containing no data, then it should be created and gathered into one array for the main front-end pool test release. This is the adjustment of the load testing scenarios for using the data.

Running scenario iterations

The predefined scenarios are being launched during a few iterations many times. During this period, various metrics should be collected. Now, two possible approaches are available for the run JMeter:

  1. JMeter GUI (Graphical User Interface)
    You can launch the load tests using GUI. This approach allows you to debug and adjust scenarios on the go. The drawback of this approach is it is slow and very resource-consuming.JMeter Graphical User Interface
  2. JMeter Console Interface
    It’s a much more efficient way of running load tests. It’s a recommended way of running tests when all the debugging and adjustments are done.

In our scenario of the new product release, we expected to have the major visitors spike during the first 15-30 minutes. In such cases, the goal should be set per minute. In our latest load testing, it was 50k users for 30 minutes, so we did 850 orders in one minute. We have run 1 scenario on 4 servers and 1 laptop.

Results

In the end, you will receive the following report:

Report Result

It shows which actions are more server-consuming and which are more lightweight. Also, the highest peaks of the response time can be analyzed. This exact report is performed for the Magento Cloud instance, which showed perfect sustainability after proper settings were applied.

Things to Do Before Testing Magento Performance

Before initiating Magento performance testing, it’s crucial to take several preparatory steps to ensure the process is as effective and efficient as possible. Here are some essential actions to undertake:

  1. Establish Clear Testing Objectives: Determine what you aim to achieve with the performance testing. This could include identifying performance bottlenecks, verifying the site’s ability to handle high traffic, or ensuring smooth transaction processes.

  2. Analyze the Current Performance Baseline: Understand the current performance levels of your Magento site. This involves assessing key performance indicators like page load times, server response times, and throughput.

  3. Identify Key Scenarios to Test: Decide on the specific scenarios that you want to test. This could include testing the checkout process, browsing through product categories, or searching for products.

  4. Select Appropriate Testing Tools: Choose the right tools for performance testing. Tools like Apache JMeter, Gatling, or others might be suitable depending on your specific requirements.

  5. Configure Your Testing Environment: Set up a testing environment that closely resembles your live production environment. This includes similar hardware, software, network configurations, and data setup.

  6. Optimize Magento Settings: Ensure that your Magento configuration is optimized for performance. This might involve configuring caches, setting up proper indexing, and ensuring that the latest updates are installed.

  7. Prepare Test Data: Generate or prepare realistic test data that reflects actual user interactions on your site. This should include a variety of user behaviors and transaction types.

  8. Plan Resource Monitoring: Set up monitoring for key resources such as CPU usage, memory usage, and network usage to get a comprehensive view of the system’s performance under different load conditions.

  9. Involve the Relevant Teams: Make sure that all relevant teams are involved in the testing process. This includes developers, system administrators, and quality assurance teams.

  10. Backup and Security Measures: Ensure that you have proper backups in place before starting the testing. Also, confirm that the testing process doesn’t compromise the security of your system.

  11. Legal and Compliance Review: Review any legal or compliance requirements related to performance testing, especially if third-party services or customer data are involved.

  12. Establish Communication Protocols: Determine how you will communicate during the testing process, including reporting on progress, sharing results, and making decisions based on findings.

By following these steps, you’ll be setting a strong foundation for effective Magento performance testing, ensuring that your e-commerce platform delivers the best possible experience to its users.

Atwix as Your Magento Advanced Performance Audit Partner

In the case of Magnanni, a luxury shoe brand, Atwix played a pivotal role in enhancing their Magento platform’s performance. The project involved a comprehensive technical audit of Magnanni’s multi-store Magento installation. Atwix’s expertise not only increased performance efficiency by a significant margin but also addressed specific business challenges. This included creating custom logic for backorder management and solving caching problems for a better customer experience. As your Magento Advanced Performance Audit Partner, Atwix brings this same level of dedication and technical acumen to your business, ensuring an optimized, efficient, and user-friendly eCommerce platform.

For more details on how Atwix helped Magnanni, you can view the complete case study

Conclusions

As users go online to shop, merchants ready their eCommerce websites to serve as a complement to retail brick-and-mortar stores or just to become the primary storefront. Ultimately, the website’s performance becomes much more critical. In the end, no matter the look-and-feel, the depth and breadth of products offered, the variation of payment options, etc. — user abandonment will occur if the site does not quickly process and respond.

Merchants must anticipate the same performance their customers expect. Managing backwards from those various user experiences, all at once, takes time and thought centered on load testing. Namely, load testing helps identify performance bottlenecks and it prevents risks related to system downtime. Moreover, the information received back from testing can be used for strategic planning to demonstrate the maximum website operating capacity needed for operational expenditure planning. To perform adequate levels of Magento preformance testing to best fit your eCommerce platform, you as a merchant are best to do their homework to fully represent their configurations. From there, check out the best tips, tools and solutions available to you by exploring peer vetted resources. Namely, be on the hunt for specialists with deep technical knowledge, separate servers that mirror production environments, and find tools and reports that meet standards that best prepare you for the most intense user experiences and live moments.

Have you ever performed Load Tests on your website? Please, share your experience in the comments and we will be more than happy to discuss this together.