In my previous post, I outlined why holiday readiness is important and how to get started. In this post, I will discuss some of the approaches to optimize the infrastructure that will handle the holiday traffic.
Tuning an App in isolation is like buying a million-dollar super car, and having no race track to drive it on. Sure you could drive it on the street, but you wouldn’t be taking full advantage of the car’s potential. This is why, it is important to optimize all layers of your site’s stack.
Making Changes Under the Hood
There are several aspects of an e-commerce operation that need to be optimized. As with any site, the constant changes (new projects, new content, etc.) typically tend to undo the optimizations from the previous year. There may also be other factors such as new infrastructure or new versions of software in your application stack. Organizations tend to discount the impact of tuning infrastructure (especially if it’s virtualized), and this should be your starting step.
Infrastructure and Application Tuning
A site could have the leanest software across the stack, and it would not be able to handle traffic if the underlying hardware does not have adequate capacity. Allocating appropriate hardware, with room for contingency, is the first step towards achieving a stable environment and application stack during the peak holiday season.
The next step is to take a deeper look at the configuration of the application server stack. Most application stacks (application servers, databases, etc.) tend to have very conservative default settings and those are great for normal traffic. Handling heavy holiday traffic, however requires probing, and determining the optimal settings across each layer to ensure smooth performance.
Having the right hardware and application server stack allows an application to perform to its full potential. However, not all codes are equally written. Most developers do not write code with the crazy holiday performance metrics in mind, and it is up to the performance engineers to do thorough analysis, and identify bottlenecks in the code. Use of tools such as AppDynamics to identify issues within code, and fixing those issues, can boost site performance significantly.
Achieving the right performance gains is a matter of an iterative exercise to optimize various parameters and get the correct balance. This is not a process that gets done once and forgotten, it needs to be revisited frequently to ensure that your application is performing to its true potential, and meeting customer expectations.
image courtesy: qode.pro