The longer the site is in operation, the higher the risks. Over time, new functions get added, new integrations are made, and the structure and logic of individual services change. Inevitably bottlenecks in the infrastructure of the site appear, which doesn’t show in normal operation. But at high loads, they can be the cause of serious failures.
Before the flood of users attracted by active advertising campaigns and promises of discounts, we recommend going through pain points of the website, which most often break its performance at high loads.We have been developing and maintaining fail-safe online stores for two decades at Morizo Digital. We recommend that our clients always check those processes that slow down the loading of pages, require large resources, and directly affect the site’s performance before launching a sale. Some of these processes can be optimized or disabled completely for high loads. Below are our recommendations, that will help to adjust the site and reduce the risk of malfunction during the influx of visitors.
Separate the incoming trafficUse batch mailings to the customers, don’t inform the entire audience about promotions at once, and advertise to individual segments to separate the time streams of traffic to the site. This will help reduce the load even during big sales.
Reduce unnecessary computational processes in the systemFor instance, if prices in the site catalog are recalculated at every page reload in the user’s browser, it requires a lot of resources. The more users simultaneously look through the catalog of products, the higher the load and the risk of crashing. Unload the system, keep prices as separate database entities for the duration of the sale, and don’t make the site recalculate them on the fly.
Disable additional heavy processes on the serverNon-priority tasks that eat up a lot of resources can be stopped for the sale period. For example, you can sacrifice the generation of feeds for affiliate programs or the creation of daily analytical reports.
Provide an option to disable integrations with external servicesIntegrations, that is, the exchange of data with external services, themselves overload the server, requiring a lot of resources. If the site load is unexpectedly high and we see that the site cannot handle it, some integrations can be disabled. This applies, for example, to the work of recommendation systems — these are complex algorithms that work with large amounts of data and require impressive resources. During a sale, when a person comes to the site, most likely they come for a specific product and a big discount and there is no need to offer them similar items or frequently purchased goods.
Such a feature comes in handy if an external service lags as well because of the high load. For example, at times of sale, we encountered failures in logistics services. The system for receiving orders at the logistics company could not cope with the large flow of incoming orders and respond properly. Orders were piling up on our client’s site, slowing down its work. To avoid this situation, we recommend setting up an algorithm of switching to manual order processing mode. So that a store manager could take orders manually and send them in batches to the managers of the logistics company.
Replace heavy dynamic pages with static stubsIn our experience, any site has heavy pages that are dynamically assembled from a lot of content, heavy photos, and complex components. For the period of the sale, they can be replaced by stubs, assembled in HTML, or just pictures. Usually, during a sale, users do not need additional information on the site — they are focused on quickly buying items from the cart or favorites and are unlikely to notice the difference between a full page and a temporary solution.
Reduce the load on the network channelIn many segments, like fashion, jewelry, and beauty, high-quality, detailed images of goods are critically important. A large number of heavy files simply swamps the Internet channel. Meanwhile, there is no load on the site itself: imagine that those who came to the sale are crowded in front of an ordinary store, but the “lucky” ones who came first are just stuck in the doors, the store is empty, no one buys anything, everyone is crowded outside and can’t get in. Something similar happens with your site — a crowd of people rushed to open product flypages with heavy pictures, but the width of the Internet channel is not enough for everyone to download them and open the necessary pages.
To avoid such pandemonium, before heavy loads, connect CDN service (Content Delivery Network), which takes away all the heavy content from the site and shows it to the visitor through its channels.
Before the sale, it is important to go through the weak spots of the site, even if the load on it was originally provided for. There is always the possibility that the flow of users will increase much more than the marketers had planned when they launched the sale ads.A spike in requests can provoke a crash of the site. To avoid this, we advise reducing the load on the site in those blocks and tasks that are not so important at the time of the sale, connecting CDN services, and providing for the transition to the manual mode of site management in emergencies.
Morizo Digital is a web and mobile development studio that has over 18 years of experience within e-commerce, finance and auto industries across CIS countries.