Why You Should Do Your Own Performance Testing
All enterprise ecommerce vendors test their application's performance, but it is still a good idea to discuss the performance aspects of an ecommerce platform with the vendor before making the decision to buy. You will also need to analyze the performance test results provided by the vendor and check the reference sites to see how the system has been scaling in the real world.
After you have decided on your new ecommerce platform, despite all of this pre-purchase research, you will need to start planning your own performance testing efforts as part of your ecommerce implementation. It is not enough to rely on a vendor's testing as there are many factors that can affect a site's performance and all ecommerce implementations are quite different.
There are many ways in which performance characteristics of your ecommerce implementation can be different from standard vendor’s implementation:
1. Structure and Size of Data
Let's start with the catalog data. Some retailers have less than a thousand products in their catalog, while others are keeping hundreds of thousands of items in stock. We have also seen large variations in the number of SKUs on our customers’ sites. Performance characteristics of a catalog in which each product has thousands of SKUs will be different from a catalog that contains mostly single SKU products.
The number, size, and type of a product's attributes are other parameters that can affect performance. In addition, complex promotion and pricing models may require extra database access and calculations, and have the potential to slow the system down.
When it comes to sites that use plenty of rich content (high-resolution images, video, flash), you will need to make sure they have the capacity to serve it to all customer browsers.
The personalized shopping experience is a popular trend in ecommerce, as it allows marketers to make content and products more relevant to visitors, which increases conversion rates. From a performance perspective, this type of personalized content causes additional load on the system, and this impact should be measured. Whether we like it or not, everything has its price.
2. Store Usage Patterns
On many ecommerce sites, a shopper starts from a home page and browses through category pages, or uses the product search functionality. For such sites, search & browsing requests will be prevailing activities and will generate most of the load on the application. In other stores, the shopping experience starts from the product page, or even on the checkout page, as the product selection happens in the context of another web application.
In addition, the conversion rate determines how much load you should expect from order placement transactions.
3. Caching Strategies
The best way to improve the performance of a web application is to implement a good data caching strategy. Many options are available to you, and, most likely, you will use a combination of different caching methods to achieve desirable results. Which ones you select will depend greatly upon the structure of your data, store usage patterns, and what caching strategies are supported by your ecommerce platform. You will need to decide:
- Which pages should be cached
- Whether to cache whole pages or page fragments
- Where caching should take place
- For how long you wish to cache different data
- How to invalidate the cached data
To find the right caching strategy, you will need to try different approaches and measure their impact through testing.
4. Storefront and backend integrations
It's rare nowadays for an ecommerce system to work in isolation. Most likely, it will require a number of frontend and backend integrations in order to function. Each of them should be analyzed for performance impact.