In this article, we will reveal everything from the kitchen to the shared hosting. How does it work? What are the limitations and why are they at stake? What is important to know when choosing shared hosting… Tells our hosting partner Jump.bg
Before we enter the kitchen, we need to put the foundations and explain what this hosting is.
We want to make a preliminary arrangement with all colleagues IT specialists, that the article is intended to tell the principles of working at the hosting available for each language and it is not intended to enter into deep technical details. Hosting comes from the English word “host”. Ie. We as a hosting company enter the role of “host” for your website, application, email, etc. In order for them to exist online (Internet), we must have a server that can display our website or process our e-mails. This server should be connected to the Internet so that our site can be loaded by everyone.
What are the main elements of the hosting?
1. Server-The server is an extremely powerful computer designed to “serve” online software and content. Typically, this is a powerful computer with parameters that exceed many times those of a standard home computer, but essentially uses the same basic components and technology.
Processor (CPU) – The processor is the “brain” of each computer. The more “cores” and the higher the frequency there is one processor, the more operations it can perform per unit of time (generally). Any task that some software performs, whether it is related to the generation and display of your Web site, a query in the database, recording and reading data from and to the disks, and so on, everything is executed by the processor, and each task takes some time To be executed. Often, the time to perform a single task from one powerful server is measured in miles or microseconds.
RAM (operational) memory – in this memory are stored software and data, which should be able to load quickly while performing various tasks from the processor, because this memory is at times faster than the recording and reading on any disk (even the most modern NVMe or Flash SSDS) It is extremely important for the optimum performance of the server.
Disks (or disk space) – all data, files and database on the server are stored here. The files and data are organized and supported by the ETC. A file system that makes sure every software can find the files and data it needs when it’s needed.
Motherboard (logic board), network cards, etc. – as in any computer, there are still a lot of components on the server, which we will not consider at the moment, because they have no direct relation to the objectives of the article.
CURIOUS: The “Disk”, “Hard Disk” and “disk space” terminations, which are quite widespread, are not correct in recent years, as they originate from the technology of data storage devices – HDD (Hard Disk Drive). This technology stores the data on hard magnetic plates (discs) by magnetizing. Modern “discs” actually use special chips to which the data is recorded. They are called Solid State Drive or Flash drives. Since they no longer use the “hard plates”/”discs” in question, we should not call the devices “discs” themselves, but the word has entered a lot in the technological jargon and most people still use it.
2. Network-the server described at the front point needs to be networked to other servers with which it needs to communicate and the Internet. Here the technical details can be even more than on the hardware side of the server, but again we will not enter them. The important things in the context of shared hosting are 2:
Bandwidth – This is the capacity or “flow” of network connectivity of servers to the Internet. Depending on what capacity is provided on the server, it will be able to transfer data, both as a speed and as a real volume (the amount of data that can be transferred is equal to the time multiplied by the capacity of the speed).
Network Reticeness – This is an important parameter that few hosting providers publicly announce, but is important. A quality hosting provider has created its infrastructure so that every item in the network is at least two – so if any item is broken, the network continues to work.
3. Service Software-This item includes many elements – starting from the operating system and getting to the time server, which takes care of checking the server clock. In this article, we will pay attention only to those elements that are specific to hosting, and are important to understand.
Web server – This is the software that handles all queries of end users who want to load your site. It relies on the query, generates the page that needs to be displayed, and sends it back to the user’s browser. The most common Web servers are Apache and Nginx, since both are open source – i.e. Are free. Apache is based on a rather old technology and is therefore significantly slower than Nginx, but for a number of reasons it is still the most prevalent, especially in the hosting industry. We at Jump.bg use another type of server – LiteSpeed. It functions through a similar Nginx technology, which makes it extremely fast, but it is also significantly more optimized and has built-in caching, which speeds it up even further. Since it is paid, it is used extremely rarely by the hosting companies.
Database Server – This is the software that serves the database. For example, all articles on this blog, their titles, author, etc. are different “elements” that are stored in the database. When your browser requests this page to load, the Web server processes the request and generates the page, but to do so, the software turns to the database to get the title, text, category, author, etc.. If you want to load the list of articles, then a request is made to the database to provide the necessary data for all articles in the category that will be displayed. The database is one of the components that generate a particular server load.
Caching software-as described above, every request for a page to be loaded, multiple queries are made to the database and then the page “dynamically” is generated for the given request by the user. Caching is a mechanism that preserves the result – the finished page, and when a request is made by the same or another user, the server provides the already finished and saved “reply” instead of generating everything again. Thanks to this mechanism, the loading speed of the sites can be increased at times and the server can be greatly relieved. As mentioned above, in Jump.bg we use the LiteSpeed Web server, which has built-in caching, which works automatically with the most common platforms, such as WordPress, OpenCart, Drupal, etc. Not only do not have to set and configure anything, but the speed that the server offers is significantly higher.
What are the types of hosting?
Once we’ve told you the most basic things about how hosting works, let’s see what are the options to “host” your site or app online.
1. Own or rented server
With this option we have our own physical server (one or several). Our server can be rented from a hosting company or we can buy it and “colease” it. In the first case we do not have to invest a large amount of money and instead pay a monthly rent. In the latter case, we purchase our server and employ only space in data center, Internet and electricity through which it functions.
2. Virtual or cloud Server
The virtual server represents a virtual part of a larger and very powerful physical server, but at the same time you have fixed resources such as processor, RAM, disk, etc. And from the point of view of your software and other customers using virtual servers – each one is completely separate and isolated from the others.
3. Shared Hosting
Shared hosting uses one big powerful server – similar to virtual, but the difference is that the service software is common. All sites use a common operating system, Web server, database server, etc. This allows to significantly optimize the price for both resources and maintenance. On virtual servers you get one virtual part and you choose what operating system to install, what Web servers, database, etc. Types of service software and, of course, then you must maintain and refresh them yourself or hire specialists for this. In shared hosting, on the one hand you share the resources, which has its disadvantages, but, on the other hand, the price is low and the hosting company takes care of both the server itself and all the servicing software. Your sole responsibility is to install and maintain your own website or application.
How does shared hosting work?
As previously mentioned, shared hosting shares the resources of a powerful server across multiple sites. Each site receives its own account to a specialized control panel, which is created to manage shared hosting. The most common is cPanel, but the market exist and others. Usually a specialized operating system is also used. Most hosting providers, including us, use CloudLinux. This operating system allows different hosting accounts to have a serious isolation from each other, both on their files, resources and even on the database, although a common database server is used. The control Panel, in combination with CloudLinux, allows us as a hosting company to manage the server and to allocate and manage the server resources between different accounts. And you can manage your accounts easily, as well as some server settings that can be customized for each account (for example, PHP version, domain settings, etc.).
Before we continue, it is important to clarify one of the basic concepts in shared hosting. A large number of websites (such as company sites, blogs, and even small online stores) generally have relatively little workload — for example, 100-200-500 or even a few thousand visits a day. Given that a query is practically processed within milliseconds from the server, in most situations it is completely pointless to maintain your own server, be it the smallest and cheapest virtual one, because most of the time it will stand in the mode of Ready, without doing anything, and at the same time will use resources to be ready. Shared hosting relies on this to be loaded over câlosto time by many small and medium-sized sites, without damaging their loading speed and everything else. Of course, if you have a busy site or just a heavy as a software site, perhaps shared hosting would not be the best solution for your case. (To facilitate and orient you, in our hosting plans we have put forward tentative visits, for which they are suitable, by testing them with an average loaded installation of WordPress – one where more than 70% of the websites would be included).
How many hosting accounts are hosted on one server?
The answer to this question is in quite large ranges. Often, large hosting providers hosted on 1000, 2000 and even more accounts on one server, while others hosted at 300-400. Of course, in order to host 2000 accounts on one server, a much more powerful server is required than one with a server with 300 accounts and at first glance there is nothing wrong with it. Just a matter of mathematics – 10 times more accounts on 10 times more powerful server and everything is fine. From the point of view of the hosting provider, in larger volume even additional optimization is won – the more the accounts, the more the statistics work accurately and averaged the load on the server. Also, the more powerful server comes out cheaper in terms of average cost per account (exclude the latest and most powerful servers – new technologies are always more expensive until they enter the market massively). In real life, however, things are not like that. There are numerous technical limitations that can not be easily increased tenfold and even to do start to become tight places when large amounts of accounts on one server. Such can be – file system, backup, network, etc.
To explain the principle without going into very profound technical explanations, we will make an analogy. Imagine that we build a business building that will be used by many companies and people. In one case we build a building that is 20 floors and employs 5000 people. We have provided ample space for these people to be wide and feel comfortable. However, our energy supply provides power to electricity, which does not allow us to put a powerful ventilation system and we can only have one elevator. From there on, everything in this building becomes ineffective. We need to open our windows to enter air, which disturbs the climate, and the people are cold in the winter and warm in the summer. And the elevator – we bought the most modern and super fast elevator – from those in which our ears are sore while riding to the 2nd floor, because they change the height extremely quickly. But as fast as this elevator is, there is only one, and in our building there are 5000 people, plus all the guests, couriers and suppliers who enter and exit constantly, and, despite the speed of the elevator, we have to wait a long time until our turn. We could build a 7-storey building with the given capacity and everything to be accurate, but because we want to optimize the maximum price per square meter of land, investment in the project, the price of materials, etc., we build 20 floors. I think we’ve all seen buildings built in a similar way. The shared hosting is very similar.
That’s why, we’ve decided that our servers will be a 7-story building. To give the maximum to each client, on one server we do not host more than 350 accounts. On some servers we also host fewer accounts – also depends on the technical characteristics of the server. If we think that a server is not suitable for 350 accounts, we bet a smaller limit so that the sites feel “comfortable” and can “enter and exit the building” as quickly as necessary.
And another important thing. If there is a problem with any of the servers, it will have a much smaller amount of sites that are blocked, and which, in the event that we can not restore this server, will be much easier and faster to recover on a new server than if it is 10 times more. This is something that in real life happens extremely rarely. But for us it’s like health insurance – you hope you don’t need it, but you do it in case you have to be prepared.
What are the limitations of shared hosting? As you may already guess, the main constraints, naturally, originate from the main resources of the server. Let us tell you what they are and what they mean to you as users of the service.
1. CPU minutes or CPU time-every request to the server (for example – Show this page, calculate my query to the database, etc.) requires time for the processor to process it. As we mentioned earlier, usually this time is within milliseconds, sometimes it can take up to a few seconds (if it is a heavy and complex application). One CPU core (thread, if we have to be completely accurate) can only process one query. Here comes the role of multi-core processors that allow you to process multiple queries simultaneously. If at any time the processor processes a request and we give it a new one, the latter will wait for the first request to be completed and then the second request will be processed.
There are a few important moments here. On the one hand, it’s important how the server is configured to work optimally and perform its tasks as quickly as possible so that queries don’t have to wait too long. On the other hand, since this is a limited resource, each hosting account has the CPU minutes in question as a shared resource. Unlike virtual servers, in which the hosting company gives you a given number of cores, and whether they are enough or not and whether they stand in standby or not, it is not her concern, here we share the total time of the processor. The total resource for all accounts is the number of cores (CPU threads) multiplied by the number of minutes per month. The processing time of each query on your site is “saved” and so calculates how much CPU resources you have used for the month.
At Jump.bg, we use commercial Web server – LiteSpeed. It is significantly optimized for open source solutions and has built-in caching. We will not go into this subject again because we explained it earlier. Here we want to say what is the effect of this, in the context of shared hosting. And in fact, the effects are several:
For you as users of the service:
Your sites load considerably faster
You use significantly less CPU time (if the same query takes less time than you have a better result in loading speed, save and Resource).
You have more CPU time for a comparable price because, on the one hand, we keep a few accounts on one server, and on the other – thanks to LiteSpeed, we’ve optimized its performance.
For us, as a hosting company:
Optimize the operation of the server and use its resources optimally
We have the opportunity to be conformable and to offer significantly better service than the standard in the industry.
As a result, we win everyone – you win, we win, and we win from LiteSpeed, where we pay licenses. And we definitely believe that this is the only way to make deals – when everyone in the deal wins.
And what happens if the CPU minutes run out before the month is finished?
This is also quite an interesting case study. Typically, if your CPU minutes run out, your account is blocked until month expires. Ie. Your site is not working. Typically, you receive one or more alerts and the moment your resource is run out your account stops. And this is perfectly logical – if you use more than the CPU resource, it will not have enough for the other customers who have also paid, and it is right to go to a larger plan to provide you with the necessary resources. The problem here is that you, as our customers, often do not understand what these minutes mean, and especially how you can influence them. Many common situations are when you have a site on WordPress or another platform and install someone poorly written plugin that uses a lot of resources without the need. Then, without knowing it, your resource is exhausted and you don’t know what you need to do. There are situations where this can be unlimited-you increase the plan and the CPU minutes are still not enough. On the other hand, sometimes there are customers who misuse and intentionally loaded the servers with applications that are not suitable for shared hosting, and thus harm others.
We at Jump.bg have a slightly different policy. Firstly, we understand that it is essential for your sites to work because they are important for your business. And second, we assume that people are bona fide and do not want to abuse. Therefore, the limitations of CPU time, which we put, are not solid, but dynamic. If you have an online store and during the promotion you exceed a small resource, we will not stop your account, just as you expect to work hardest. And yes, in days like Black Friday, when everyone has a great load, all sites can load an idea slower, but more importantly, your sites will not stop, because the LiteSpeed server is in its element and gives the greatest added value in such situations . If you have a situation with a poorly written plugin, our support will try to help you troubleshoot the problem by analyzing where exactly the problem is, and giving you recommendations on what should be fine. If you don’t want or can’t fix it – then we’ll ask you to go to a higher plan or change your shared hosting with a cloud or dedicated server if you need to. But we will always try to correct the problem together first. From our experience we know that in 99% of situations this is possible and relatively easy. Of course, in case we have a situation where some software threatens the entire server or a client decides to abuse, then we will really stop the account, and we can even ask the client not to use our services at all to protect our other customers, But it really is a measure of last resort to us. And we always try to solve cases together with our clients before we proceed to more extreme decisions. As we said at the beginning, we think that people are well-intentioned in general and from experience we have found that 99% of the people are. So we have no intention of harming them because of the remaining 1%.
2. Number of ad-on domains, sub-domains, etc.
It’s one of those seemingly odd-looking restraints, but it makes sense.
First, the number of domains is not necessarily related to the number of sites, but it is presumed. If you have 5 domains, you probably plan to deploy 5 sites on them. Each site costs some resources, even if it does not work. In addition, in most cases a business has one site. There may be 2-3 sites, but there are very rare situations in which there is a need for more.
Also, each domain, whether it is used or not, needs to be configured and set so-called. DNS Records. Therefore, take care dedicated DNS server, which also costs resources-yes, relatively small, but still resources.
3. Disk space
Here things are pretty linear. The server has a certain space that is determined by the physically installed disks, and the sites allocate a different space according to the plan. You can use as much space as you have. In most cases, you could purchase additional space without having to go to a higher plan.
4. Number of inodes (Files and folders)
Most hosting companies put a limit on the number of inodes, which seemingly looks rather strange. This is not advertised and advertised in an easily accessible place, but is somewhere in the “fine print” and most of the people understand it when they reach the limit. And at some point it seems that the hosting companies are bad and we are looking for reasons to get customers to increase their plans, even if the disk space and CPU time are enough. The truth is that the number of inodes are also a exhaustible resource and this requires hosting companies to restrict it. The file system itself puts a limit on the entire server. This is a purely technological constraint on which we can hardly influence. Also, shared hosting by presumption uses a multitude of small size files:
PHP, CSS, html, JS files and scripts that are purely textual and occupy little space
The pictures on our site are trying to be small to load quickly, and in addition it is a good practice in optimization that each picture is stored in several sizes and the appropriate size is loaded for each device, which further optimizes the speed of Loading our site.
As a result, it is very easy to quickly accumulate a large amount of files, especially if we have an online store with many products and several photos of each product.
And how come in Jump.bg we offer UNLIMITED number of inodes?!?
Very simple. Because we hold a relatively small amount of accounts on one server, the limitation that the file system puts us is ample, and on average the server does not use more than 30-40% of the total indoes. For this reason, we have determined that we do not need to place a limit at the account level. If a user needs a larger number of inodes, but the remaining resources, such as disk space and CPU time, are sufficient, then it is not a problem for us to use them. If there is a customer who abuses this and threatens the rest, we prefer to contact him and solve the private problem instead of limiting everyone.
5. Traffic
More and more often the industry is offered unlimited traffic. In fact, Internet connectivity is one of the biggest costs of hosting companies, along with the current (the servers burn a lot of electricity). How then is it possible to offer unlimited bandwidth. The truth is that the traffic is not unlimited. The exact term in English is “unmetered” (not “unlimited”) – i.e. The hosting company does not measure the traffic you use, as for example the electric company meters the kilowatt current you use. Instead it provides a single channel (usually between 100 Mbit/s and 1 Gbit/s, some companies may also provide more, but these are the most common in the industry). It’s like a VIK to provide the block you live in, a tube with a flow of 1 cubic per hour and tell you that you have unlimited water. Yes, you will not have a water meter that takes into account how many cubic meters you have used, but if the flow of the pipe is 1 cubic per hour, then there is no way to use more than 24 cc per day. Here comes the question whether this flow is sufficient for all residents in the block. If all water users have enough for their daily needs without having to make a pool, spa or car wash, then everyone will be very happy that they use water indefinitely and pay a fixed fee that they can plan in their monthly expenses. If, however, the building is too large, like the analogy we did earlier, it may be that the pressure does not reach the top floors and there you can not even wash your hands).
At Jump.bg, we are providing 1 Gbit/s channel, on each of our servers, and thanks to the fact that we keep a few accounts on each of the servers, it gets more than enough for everyone. Our common network has a capacity of over 40 GBit, which has one of the largest cloud suppliers in the world, and our internet is provided by 4 independent providers to ensure that we do not stay without the Internet.
6. Restrictions related to the database
As we wrote at the beginning, a database server generates one of the main workloads in shared hosting, as it usually hosted sites on ready-made platforms and they often do not even one, but a few queries to the database to generate a Single page. For this reason, some hosting providers put additional constraints on the resources that the database uses. They can be purely as a space, on the one hand, or as a separate resource, on the other:
- Number of queries per hour, day or month
- Number of databases
- Number of tables
- etc.
With standard use of shared hosting, the number of databases and tables is Prico-related to the number of sites. That is, if we have already limited you once to have no more than one, ten or 100 sites, it is a little pointless to limit you to the number of tables and databases. Yes, a site can use a little more, and someone else – a little less. But that’s the point of shared hosting. For us as a company have meaning averages. And setting limits would serve two things – to reduce the average (i.e. Optimize costs) and to limit abuses.
As we have not once said, we believe that people are well-intentioned and we do not want to limit 99% of people because of the potential 1% abuse, and every case that comes out in extremes just looks at it separately, and we try to help our clients Optimize your sites and accounts. Why – Because if your sites are optimized and do not use redundant resources, yes, you will save on the total resource and will not interfere with other customers on the server, but more importantly, your sites will be optimized and will work quickly. Ie. This is of general interest and we strive for it.
Of course, we’ll mention the LiteSpeed Web server again – thanks to it and its built-in caching, sites make fewer queries to the database than if we used another solution. This is in an extra plus and allows us not to limit so many additional things that you are again wondering what they mean and how you can influence them.
In conclusion,
We would like to summarize and re-compare shared hosting with a business building – if the owners of the building are aware that they should be useful to their tenants, and tenants understand that they share common parts and the whole building with other people, because it Gives them many benefits such as the 24-hour security, professional cleaning, technical maintenance of the building and a number of other “benefits”, which would be terribly expensive if they want to have their own building and organize all these activities themselves, this whole System would be perfect for everyone.
Our belief is that if we treat people as mature, responsible and well-intentioned, they will behave as such. And in the very rare cases when someone decides to abuse this attitude, we would rather not want that person to be our client, so that we can continue to treat everyone else as such, instead of putting a number of restrictions on them just to protect Their own interest under the forewords that we protect theirs. And last but not least, we would like to thank all our customers for being so cool and allowing us to develop and improve the service constantly.