High load systems became a trend back in 2012. But here's the problem - there is still no clear definition of the term. Where do high loads start? 10 requests per second - is it already high load or not yet? Maybe 100, 1000? We will surprise you, but the point here is not at all the numbers.
High load systems: introduction to highload.
High load - how much?
First, you need to understand one simple axiom: high loads - a relative concept. They cannot be measured by the number of requests that arrive on the server, or the speed of the website. After all, there is no “average” number of requests, as well as an “average” site. One web resource will be able to process a thousand requests per second normally, and the other will crash on the hundredth connection. So the point here is not at all in quantitative indicators.
We have compiled the most popular high load definitions from IT professionals and users who simply knew this topic:
- Highload is when the IT-system ceases to cope with the current load.
- Highload is when traditional approaches to the work of the IT infrastructure are already not enough.
- Highload is when one server is not enough for customer service.
- Highload is when technics can not cope with the increased loads.
- Highload is when problems that arise cannot be solved by available means.
- Highload is when the infrastructure needs to be urgently scaled.
The last definition allows you to look at the definition of high load from a new angle:
“This is a system that is constantly scalable and has enough resources to work with current loads.”
5 qualities of a high load system.
It is a system with a huge audience
If we talk about web applications, then these are thousands, and sometimes hundreds of thousands of people. Of course, a specific figure cannot be called. But it is clear that an online store that processes 10 requests per day cannot be called a high load. But Facebook, Amazon, Flickr, MySpace or Youtube - yes, of course.
This is a distributed system
If the application has to process huge amounts of data, which is also constantly growing, one server is not enough. The largest high loads (for example, Google or Facebook) work on hundreds of servers.
But a huge number of cars are caused not only by high loads. More precisely, not only with a large number of requests that have to be processed non-stop. At the same pace, the servers quickly fail, so the more they are, the higher the likelihood that the system will quickly recover after a failure.
This is a system with positive dynamics
If an online-offer is valuable for users, its audience is growing. Therefore, the high load is not just a system with a large number of users, but a system that intensively builds an audience.
This is an interactive system
If a person enters a search query on Google, uploads a video to YouTube or makes a purchase on eBay, he expects that he will immediately receive the result. If the system will respond for a long time, most likely, he will find himself another occupation. Therefore, instant response is a distinctive and very important feature of a high load system.
It is a high-resource system
This item is directly related to the previous one. To give an instant response, the system goes through a lot of resources - CPU, RAM, disk space, etc. And for this, it is necessary that the resources: a) be free and b) be in sufficient quantities (preferably even with a margin).
Here we come to the paradox of high load systems: the faster they grow - the more stringent it is to control resources. When an application grows its audience - the number of requests naturally grows. And with them - the number of resources that need to be spent to maintain interactivity.
That is, the high load is a system that needs to be constantly scaled. Setting up it work in this way is quite difficult, but from a business point of view, it is worth it.