Webshop Stability IssuesBranko Toić
Most people are turning to online shopping nowadays, which means your webshop needs to be stable, secure and fast. However, a large number of concurrent users will quickly bring out many (previously undetected) stability issues to the surface. With that in mind, we’ve decided to write a series of articles which will cover some of the most common reasons why this happens, along with solutions and next steps.
So let’s get started with the first article in our series which will cover the most common webshop stability issues we’ve identified over the years.
Webshop stability is crucial for your business. As we discussed previously, downtime of any kind is extremely bad for business. But as you can imagine, any type of instability is not great for webshop owners. Many studies have shown that online consumers have a very short attention span, and longer loading times and sluggish websites lose customers quickly.
If you’re experiencing webshop stability issues, you’re probably wondering how to fix them. So let’s go through some of the most common causes of webshop instability.
What kind of problems are you experiencing?
Downtime is not the only possible outcome when your webshop is experiencing problems. Your webshop might be online, but still periodically unavailable, or just slow to work with, which is still quite problematic.
Instability usually means your website is experiencing one of the following symptoms:
- Your webshop is entirely unresponsive and inaccessible
- Your webshop is intermittently returning errors
- Your webshop is objectively or subjectively slow and sluggish
All of these stability issues are typically caused due to either one more of the following reasons.
Stability issues caused by organic growth
The purpose of every webshop is to sell products to the end customer. Same as with any store, more sales = happier owners. However, an increase in sales can also cause webshop instability. And while that is what we would consider a “healthy” instability, it’s still as problematic as any other.
With an increase in visitors and sales, your webshop will require more server resources. Considering you’re getting more revenue out of it, it’s vital to invest in additional server resources. That’s why it’s essential to anticipate growth during the budgeting phase, so you can acquire more resources as your webshop grows.
At the end of the day, customers expect a smooth shopping experience, and having enough resources for your webshop will ensure precisely that.
Stability issues caused by technical problems
Organic growth is not the only reason why your webshop might experience problems. There also might be some underlying technical problems which can cause instability, with some of the most common reasons coming from:
- Codebase logical errors
- Codebase/Database design errors
- Server misconfiguration
- Frontend design issues
- Network/server provider issues
- Unexpected situations (DDoS, Malware, Intrusion)
Codebase logical errors
Such errors are usually unintentional bugs and errors which occur in a specific scenario and result with instabilities in code execution. With such errors, it’s vital to diagnose how the failure affects the system as a whole, and then isolate it and try to reproduce it.
Once you’re able to reproduce the error, your development team can start resolving the issue.
With our advanced monitoring system, we’re able to monitor how the system behaves and in turn, narrow down to the part of application or piece of code where the issue occurs.
Codebase/Database design errors
Usually, such errors are a result of a technical debt accumulated during the webshop plugin and feature design phase. At the earlier stages of the project, such errors will not be as noticeable as they will become once there’s more traffic, items or logs in the system. As the webshop grows and accumulates more and more historical data, the technical dept will increasingly become more problematic. Your webshop might become slower and slower, ultimately leading to complete unavailability.
Some of these bad design patterns can be discovered on our (system) side by paying close attention to monitoring metrics, inspecting logs and performing additional analysis of problematic database queries. Developers can use tools such as profilers to do the same (NewRelic, Tideways, Blackfire, xdebug itd..)
Server misconfiguration can also cause instability. To mitigate such problems, it’s essential to actively monitor server workload and trends and continuously optimise different server-side tunable parameters to improve webshop performance.
Databases which grow steadily will require increased database buffers and more allocated memory. However, if the default values are set too low, even if you increase available resources, you won’t notice much improvement. Instead, it’s important to perform server/service tuning. Our system engineers are continually monitoring how all server components are behaving, and fine-tune the system specifically for each webshop.
Frontend design issues
It’s important to remember that poor frontend design can result in a poor subjective impression of the website loading speed, even if the serverside rendering (TTFB) and execution are speedy. In some cases, incorrect XHR requests can also result in unnecessary serverside overload and instability.
Our Ops team can often identify such problematic frontend requests and suggest improvements. However, for excellent user experience, we recommend consulting a UX expert, as they are specialized in providing fantastic frontend design which can dramatically improve your end-user experience.
Network/server provider issues
Budgeting cuts in the infrastructure department usually end up with cheap/budget internet and server providers. In most cases, such providers will have inferior redundancy and SLA. This means your webshop will be down for hours if there’s a network or hardware problem. And we all know what downtime means for a business.
With that in mind, we recommend choosing only reliable, verified and trusted providers. Feel free to contact us for more information.
Unexpected situations (DDOS, Malware, Intrusion)
Even though it’s probably not something you might be considering now, your webshop could easily become a target of malicious users. Competition or just pure malice, there are many reasons why someone would attack a website, and your webshop is not exempted.
DDoS is one of the easiest and most common ways to bring down a website, both applicational and volumetric. When considering volumetric attacks, it is vital to choose a provider which already has the option of mitigating such attacks included in the infrastructure price or can rely on specialized DDoS mitigation third party services such as ddosarrest or cloudflare. Applicational attacks, on the other hand, are easily handled by Ops specialists, such as our Ops team.
Malware and intrusion can easily become a reality for any website owner, and in turn cause unwanted downtime, negative customer experience and poor brand image.
To mitigate this problem, we’ve specially secured all of our system services, and we’ve also included special measures such as regular codebase malware scanning, all to protect our customers’ webshops. However, it’s also imperative that your development team keeps track of the codebase and updates it along with all extensions, to ensure you’re using the latest version which will include fixes for any security problems.
It’s also as necessary to make sure you’re using strong passwords (including for your webshop’s administration), considering many intrusions were caused by insecure, stolen and leaked passwords.
Stability issues caused by SEO
Yes, this is actually a thing. In a situation where we have an aggressive SEO campaign combined with incorrectly set SEO parameters, it’s possible to have the engine crawler get “stuck” in an endless loop of web links.
An excellent example of such a situation would be dynamically generated links for category filters where crawlers would wonder and spend hours indexing the same content over and over again. As a result, your website can get lower SEO ranking. However, the biggest problem is that the website crawler will become most of your traffic (compared to actual website users). In this scenario, web crawlers are draining server resources, and can easily cause your webshop to become slow, or in extreme cases completely unavailable.
Our Ops team can help you by creating a specific traffic shaping in order to lower the effect of web crawlers, but at the end of the day, the issue has to be resolved at the root – eliminate the reason that caused the web crawler to get stuck in the loop in the first place.
There are many reasons why your webshop might be behaving erratically, and we’ve covered some of the most common ones above. However, as some of these issues might not be visible to the naked eye, to identify the problems we’ve covered, you also need a sound monitoring system which will notify you when stability issues happen. With that in mind, in our next article, we’ll discuss how we monitor PHP applications (including webshops).