Jaki ruch na stronie wytrzyma mój serwer?
Kamil Porembiński
Kamil Porembiński
25.03.2018

What traffic on the website will be handled by my server?

When choosing hosting, we usually focus on its capacity, limits, price or add-ons that it offers as standard. Sometimes, however, a very important question is asked: Is this server efficient enough for my website? What kind of traffic will it withstand on my website? As Zbigniew Herbert used to say, seemingly simple questions require complex answers. And the only correct answer to this question is “it depends”.

It is worth remembering that the request is uneven

The owners of popular websites are accustomed to a large number of visitors to their website at the same time:

Website traffic on one of our hosting packages
Website traffic on one of our hosting packages

Looking at this type of number, you can be impressed by the traffic on the page. Many people are wondering how powerful this server must be to serve so many clients. The number of people at a given moment on the website is only a number in itself, and only when combined with other data allows to estimate the real load.

Without the knowledge of what kind of service, what technologies it was written in and what these users do on it, it is difficult to determine what kind of load it causes on the server. Getting to know these many uncertainties will allow us to answer the question What kind of traffic on the website will withstand my server?

The server is like a post office window

In order to understand the problem we are facing, we will use an analogy to customer traffic in an ordinary post office. How many customers can it serve? Imagine that customers who only want to buy a postage stamp come to the window of one or two of them. The mail service has prepared payment terminals, arranged stamps of specific denominations and cash for giving change. Everything is arranged on the counter in such a way as to serve the customer as quickly as possible. In this situation, the facility is able to serve dozens of customers.

This can be compared to a well-optimized landing page or a simple blog. Server inquiries and answers are quick and easy. This type of website will serve a large number of clients per second.

DDoS
DDoS

Imagine, however, that there is a mess in the post office window. Postage stamps are thrown into one box. Every time a customer asks for a specific product, the staff must look for it. Despite the fact that the employee looks through the stamps in the box very quickly, it takes more time to find this particular product. In addition, because everything is mixed, the staff writes down how many stamps of a given type they have issued in order to know if they are still in the box. The queue is getting longer, some customers give up, which translates into a smaller number of people served.

The same is true of the websites. A problem in the code of a website, its outdated software, old versions of the CMS we use or the mass of plug-ins added to it – may cause slower operation of the website. When the website was created for the first time, it was lightweight without unnecessary add-ons. Everything was arranged in it. Over time, more and more elements or plug-ins appeared on it. The server still works the same fast, but as a consequence we outsource more and more tasks to it. Although each task lasts a fraction of a second, with a large number of them it is important.

Queue at the post office
Queue at the post office

As it happens in life, people at the post office do not only buy stamps. They send parcels, pay different kinds of bills and fill in receipts at the window. Such operations take some time, even though they are not complicated. There are also customers with awizo cards, forcing the staff to look for undelivered letters. Employees search various types of shelves, bags with letters to issue letters.

Websites also offer many services. They are online shops with a product search engine, allow you to register and create your own profiles, have a complex structure that generates articles similar to those you are currently reading. Therefore, it should be remembered that a completely different burden is generated by a website that only displays articles in comparison to a website with a product search engine.

Promotion in a hypermarket

Is this hosting enough if I have 55000 unique users per month? In order to answer this question well, it is worth considering the distribution of customer traffic on the website. Is it an average of 1800 UU per day, or are there mass entries to the site in a short period of time?

When sending newsletters to customers, organizing promotions in the online store or going to the main website of the wykop.pl service, we have to take into account the large number of visitors in a short period of time. Without preparing the website for such a task, we can expect its unavailability. Introducing caching mechanisms or equipping it with Cloudflare may help us to survive massive entries to the website.

Software matters

The software installed on the server and the one used by the website is of great importance for the speed of operation of the service itself and the number of clients it is able to serve. A website can work even 4 times faster if you choose the latest PHP.

Comparison of WordPress speed under PHP 5.6 and 7.1
Comparison of WordPress speed under PHP 5.6 and 7.1

On the chart above we have the time to generate a page based on WordPress on PHP 5.6 and 7.1. The page, which worked very slowly and loaded on average 5 seconds per page, used the old software. Changing the PHP version to a newer one caused its diametrically accelerated.

Not only the PHP version is important here, but also how the website itself is built. A large number of unnecessary add-ons, forgotten and unused plug-ins often have a negative impact on the performance of the website itself.

How to determine the performance of a website?

Corporations and larger websites use performance testing tools. They are done periodically in order to assess the degree to which a given system, website or module meets performance requirements. The requirements to be met by a given system can be divided into several categories:

  • processing speed – the website under load must correspond to an acceptable speed,
  • parallelism of processing – the requirement determines how many users can use the website at the same time,
  • the size of the supported data – how much data can be processed by a given website (e.g. 20000 products in a shop, 10MB into a photo file)

Performance tests consist in artificially generating traffic on the website and monitoring the server load generated by this traffic. Various user behaviors are simulated: from accidental and random clicks on links, to the shopping process or product search. These tests are initially carried out on a small number of simultaneous users, which is then increased.

Smaller websites, blogs or stores can ask for help with their hosting to help estimate the workload generated by their service.

Definitely better website performance after optimisation
Definitely better website performance after optimisation

Optimization of a website to support increasing traffic to the website is a continuous process consisting of changes in the website code and matching server services.