How to Optimize a Server for Ecommerce
No one enjoys shopping on an ecommerce site that is slow. Since the dawn of ecommerce, studies have shown that higher latencies cause higher bounce rates and lower conversion rates. Performance optimization is critical to ecommerce sales and profitability. But what is a viable ecommerce performance target in 2020? And what can ecommerce retailers do to give shoppers the best possible experience?
See Also: ServerMania E-Commerce Server Solutions
Because performance is so vital to ecommerce, there is a lot of evidence we can draw on to establish a baseline performance target.
A study by Canadian provider Akamai found that a load-time delay of 2 seconds increased bounce rates by 103 percent. The same study showed that a 100-millisecond delay in response time reduced conversion rates by 7 percent.
Performance is even more important on mobile. A 2018 report from Google showed that the bounce rate probability increases as load time increases.
Performance Metrics That Matter for Ecommerce
As a rule, ecommerce retailers should focus on two metrics: Time to First Byte (TTFB) and Time to Interactive (TTI).
- Time to First Byte is the length of time between the browser sending a request and receiving a response. TTFB is an indication of network, DNS, and server performance.
- Time to Interactive is the length of time between the browser sending a request and the shopper being able to do something useful on the page, such as searching. Network and server performance influence TTI, but front-end factors such as loading and executing JavaScript have an enormous impact too.
There are many more fine-grained performance measurements that affect shopper experience, but these are the top-line figures every retailer should focus on. In this article, we’ll look at server-side optimizations that contribute to both metrics.
Optimal Server Hosting for Ecommerce Performance
Ecommerce applications such as Magento and Drupal Commerce tend to consume significant resources compared to other server-side web applications. Ecommerce servers with insufficient resources will slow under heavy load.
Memory
Magento recommends at least 2 GB of RAM for a small ecommerce store servicing a hundred users a day. Other mainstream ecommerce applications have similar requirements. The most important factor is the number of concurrent users. RAM use scales proportionally to the number of concurrent users, and memory is likely to become a performance bottleneck as a store grows, especially at peak shopping periods like Black Friday.
For many small and medium ecommerce stores, increasing the RAM available to the web application will have the most significant impact on server performance.
Storage
Ecommerce applications use storage in two main ways: for static files and the database. Static files include product images, which can take up considerable storage space. Both static files and the database benefit from high-performance storage such as SSD drives.
SSD or NVME drives can provide a performance boost for busy stores, providing other aspects of the store’s hosting—the network and processor—don’t create a bottleneck.
It is impossible to give general advice for all stores, but the average ecommerce store is more likely to suffer from RAM limitations than I/O performance issues. It usually makes more sense to spend a limited budget on RAM upgrades than migrating to a faster storage format.
Processors
Ecommerce is a CPU-intensive server application. Features such as searching, filtering, indexing, and page generation for logged-in users can burn a lot of CPU cycles.
You can gain a rudimentary understanding of CPU utilization on your Linux ecommerce server with tools such as “uptime” and “top.” Both create a metric that looks like this:
load averages: 2.19 2.26 2.20
This displays the CPU load averages for one, five, and fifteen minutes. Load averages can be difficult to understand, but, in essence, you want the numbers displayed to be lower than the number of CPU cores in your servers. If the numbers are consistently higher, processes such as those created by PHP or the webserver are waiting in a queue for execution, which can result in perceptible performance degradation.
As a general rule, if CPU utilization causes ecommerce performance issues on your store, upgrading to a processor with more cores is better than upgrading to a CPU with a higher clock rate (the number of GHz).
Network
Ecommerce stores on shared hosting or low-powered virtual servers often run up against network bottlenecks. If the store doesn’t have a reliable network connection or an adequate bandwidth allocation, network performance suffers, manifesting as long TTFB measurements and poor shopping experiences.
Factors that influence network performance include:
- Network interface speeds: The amount of data throughput the interface can handle in a given period.
- Network reliability: How often the network suffers downtime.
- Network contention: How many applications owned by other hosting clients are competing for access to the same network resources. This is a particular problem for ecommerce stores hosted on shared or cloud hosting platforms.
- Route optimization: Poorly optimized networks force data to travel over longer routes than well-optimized networks. Ideally, the data center housing your ecommerce server has access to the networks of large bandwidth providers that can move data around the internet with fewer hops.
- Location: However well-optimized a network is, geographical distance adds latency. A server hosted near to ecommerce shoppers offers better performance than a server hosted on the other side of the country.
Ecommerce retailers cannot usually influence network performance directly. They should choose a server hosting provider that optimizes all of the network performance factors we have just outlined.
ServerMania equips dedicated ecommerce servers with network connections that have up to 20Gbps speeds and bandwidth allocations of up to 40 TB or more. We offer a 100 percent Network Uptime SLA on our route-optimized network with multiple connections to major bandwidth providers.
Ecommerce Server Clusters
There are two ways to scale the resources available to an ecommerce store. The first is to upgrade by adding more resources to the server or migrating to a more powerful machine. This is called vertical scaling. The second is to split the store between several servers. This is horizontal scaling.
Larger ecommerce stores are usually hosted on clusters of servers. There may be several web servers, a database server, a static file server, load balancers, and so on. When a store becomes too busy to host on a single server, ecommerce retailers should consider horizontal scaling because it allows them to easily increase their store’s capacity and performance by adding more servers.
Clustering also enhances redundancy and availability. Clusters can be organized with redundant servers. If a server fails, another server steps in to take the load. For example, if one of the web servers fails, the load balancer can route requests to the remaining servers, ensuring that the store stays open for business.
In Summary
Server and network performance have a huge impact on the ecommerce experience. They are the foundation on which reliable, high-performance ecommerce stores are built. There are many other ways to optimize a store for performance, but the fundamentals must be in place first.
To talk to a ServerMania server hosting professional about optimizing your ecommerce store’s performance with enhanced hardware, networking, and infrastructure architecture, book a free consultation today.