Choosing hosting provider and virtual server

Started by glawar, Sep 12, 2022, 06:33 AM

Previous topic - Next topic

glawarTopic starter

The choice of a web hosting provider and a virtual server is certainly not limited to two options – there are dozens of data centers on the market, the choice is not trivial and that's why. In the tariffs of service providers, initially there is no complete information about the types of processors, memory, disks, their performance, communication channel, etc.
Moreover, even open data is not given, as they say, to the same denominator so that they can be compared. Therefore, we always face the question: how to understand what these or those services are and how to make the right choice? For instance, the cost of a virtual server from one provider is 4 times higher than that of another – does that indicate the greed of web hosting provider or the high quality of services?



In order to understand the topic, we will make a test drive of providers and compare comparable services. Let's face 13 companies with our foreheads. We took representatives of different niches, differing both in the breadth of services and prices, so that the sample was representative and showed a cross-section of the market. So, let's place the web hosting providers in alphabetical order:

    Beget

    Digital Ocean (DO)

    Firstbyte

    Firstvds

    ITSOFT

    Leaseweb

    Linode

    Ruvds

    Selectel

    Skyhost

    Sweb


But before comparing, we will indicate what that comparison gives? And the study gives the following:

    understanding of the market and the level of competition;

    recommendations for the rational use of money;

    the ability to select the necessary VDS configurations;

    shows the most productive combination of CPU/RAM resources;

    allows you to exclude errors when changing the tariff or provider;

    the ability to compare VDS with conventional servers and other solutions.

Note: we do not consider the features and differences of VDS, VPS and other cloud solutions and for simplicity we will call them all VDS.

Methodology for calculating tariffs

In the source data, we have only the cost of the entire VDS configuration. Since not all providers break them down into components, this is rather scant information that does not give us a clear idea of what we are actually paying for. To give an idea of these parameters, within our model we take into account each element, namely CPU — RAM — Storage — Network with equal weight – 25% each. If necessary, you can modify the coefficients to suit your needs and get results already with your data.

To bring any configuration to a common denominator, which is very important, it is necessary to have a standard against which we will make a comparison. Therefore, we took the tariff values and recalculated them so that they could be compared with each other at a price relative to the reference .

Performance calculation method

As a basis, we chose the Ubuntu distribution (20.04) – that is free software with many ready-made solutions that allows you to test VDS with many parameters, without additional licenses.

When calculating performance, we face the same comparison problem – the indicators need to be brought to a common denominator, so we recalculate the measurements obtained in relation to the best results, which in that case serve as a benchmark and are taken for 100%.

Now we can already compare the technical indicators of VDS with each other (Score in the tables below).

Note: The processor performance is lower, the better (it calculates faster, it takes less time), for all other parameters - the higher, the better (performance display: the speed itself is higher).
Common denominator

To combine performance and price indicators, divide the first value by the second. (Effective score per in the tables below). This indicator reflects what we call VDS efficiency (VDS performance for its cost), and we will use it when comparing providers in the final table.

1. Processor

The program makes three measurements and calculates the average value, which is indicated in the table below (CPU, PTS, time). With strong discrepancies, up to ten measurements are made.
2. Memory

The program makes many measurements of different blocks. The larger the amount of memory, the more measurements. We settled on the values of 8 blocks from 1 to 134 MB.
With a configuration of 1 GB of memory, the maximum value of the block reached 134 MB, which is why we took it over the upper threshold. With small values, only the processor cache is taken into account, and since the value of the processor cache is different for everyone, we decided to start with 1 MB in order to show the impact on the results of higher-quality hardware, but at the same time minimize dependence on the processor cache. To check the measurements for the strong influence of the processor cache, we additionally conducted a comparison with the calculation of the average value from the last three measurements.

Next, we calculated the average value from eight measurements (in the case of 512 MB, the average of 7 measurements was taken). Three such values were calculated and the average of them was calculated, and it is presented in the table below (RAM, Lmbench, speed).
3. Disks

Here we calculated the average of the three dimensions of each data type. The obtained values for three types of data were added together and the average value was calculated, and it is indicated in the tables below (Storage, Fio, IOPS).

Assumption: for the configuration of a machine with 512Mb, RUVDS used iozone, because fio would be blocked on their side, measurements were carried out in the same way.
4. Network

Here we determined the average value of three outgoing velocity measurements in Gbit/s.
Summary tables of results by provider

We have collected all the values in tables with the following data:

a) Tariff configurations

RAM, Gb – the amount of RAM in GB
vCPU, Cores – number of virtual processor cores
Storage, GB – the volume of the hard disk in GB
Network Out, Gbit/s – outgoing Internet connection speed in Gbit/s
Price, $ – the cost of the service in dollars

b) measurement values

RAM, Lmbench, speed – memory performance
CPU, PTS, time– processor performance
Storage, Fio, IOPS – disk performance
Network, Speedtest, Gbit/s – network performance

c) calculated data

Reference price, $ – normalized cost of the service according to the standard in dollars;
Score - reduced performance, in hundredths (%);
Effective score per $ – VDS efficiency (performance per cost).

The research helped us to work on the errors ourselves. We adjusted prices for some items (downward), which pleased consumers.

Important note: the material suggests, if I may say so, a critical approach to the choice of provider and the specific configuration of the virtual machine. Prices may change over time, so you should not focus on the fact that now a particular company has a service that is more expensive or cheaper. We propose a methodology that will not lose its relevance over time.
Moreover, based on it, you will be able to develop your own practical guide (we will be glad if you share it with us or in the comments). We also emphasize that idea in the summary, because we consider it extremely important.

The table and the whole methodology are based on the assumption that each parameter has equal weight. In that case, if you attach more importance, for instance, to disk performance, then the distribution picture will be different. Recall that our task is to share the methodology for evaluating services, so you will make the final decision and conclusions yourself.

Conclusion 1. From the disk results, we can see that some providers limit the speed. Most likely, they do that to reduce the risk of load on the disk subsystem. Yandex, Ruvds (at initial rates), Leaseweb, Firstvds,  Skyhost.

Where that difference is less noticeable, simply different server configurations can be used.

Network indicators do not always correspond or even approach the stated values. This indicates limitations on server interfaces with VDS, or problems in the provider's network. It also turned out that specifically speedtest installed from repositories may underestimate the results of the network. For our part, we have also worked on these values and now we can guarantee to allocate 1 Gbit/s for each VDS.

And that is the case when we see a more expensive, but at the same time a better provider in terms of performance.

I hope that you will find many more interesting things in these tables and will be able to explore the information yourself using this technique.

Conclusion 2. Point 1 shows how important it is to conduct testing before renting a VDS. Perhaps providers are worried about security. You can offer them to make a preliminary binding of your bank cards and collect passport data. Unfortunately, that procedure is not available to everyone, or there is, but with certain nuances, let's look at that issue in more detail:

Providers who have a test period:

DO, Yandex, Ruvds*

* – they probably won't let you test the disks (we had it like this)

Providers who have the opportunity to take per-minute, hourly or daily billing:

Linode, Selectel, Sweb**, Beget, ITSOFT***

** – payment for a month, but you can cancel after a day or two and return the funds

*** – the function is still being finalized, but will be available soon

Providers who do not have a test period, but you can change the tariff:

Firstbyte****, Firstvds*****, Skyhost

**** – a 24-hour test is available for any KVM/OpenVZ variant with free operating systems (except those that include win/isp manager) FOR NEW CUSTOMERS, as it is written on that page.

Providers who do not have a test period and will not be able to change the tariff:

Leaseweb

Thus, we conclude that conducting tests will help you eliminate errors when choosing VDS.

Conclusion 3. The best benchmark results were achieved with the ratio of x vCPU cores to xGB RAM. The processor manages to process data with this amount of memory more efficiently. This configuration is not suitable for all tasks and is not beneficial to providers, since it does not allow using the full potential of server resources, but provides better performance. It is also seen that a larger number of CPU cores does not give an increase with a small amount of memory (there is nothing to process), however, that configuration can be used for a large number of calculations on the fly (rarely used). But more memory can be used for sequential access to more applications.

Conclusion 4. Based on the data obtained, we have taken measures to reduce the cost of some tariffs, so that the analytical work was not carried out in vain, but the results of the research are published in open access. Let that data, and most importantly, the methodology for evaluating providers, serve good people.

Having decided to store data not in a bucket, not in your own rack, but in a third-party provider's data center, spend time not only calling possible options, but also for a little testing. It will pay off. Prices for services at most data centers are very conditional (unfortunately, this is how it is accepted in the market).
When buying a virtual machine, use an approach similar to buying a regular machine. When you come to a car dealership, you don't say that you need a body, four wheels and a motor, well, so that the speed is over two hundred. Without analyzing the situation in the car dealership on web hosting provider's web site, you will be given a standard version:

    here's a processor with one core (one engine under the hood – which engine, who is the manufacturer?)

    here's 1 GB RAM for you (one liter of engine displacement – and how many horses can be removed from that liter?),

    here's a 25 GB storage space for you (is the trunk volume on the roof or in the cabin?)

    here is the maximum channel speed of 1 Gbit/s (is that the speed of a car downhill and on an empty road?)

    And here's the price. What else do you need?

No, it won't work that way. You do not rent a server for a week, most likely you take a virtual machine for a long time to store and process data critical for your business. Therefore, take the time, test the suppliers, take measurements and choose the best one.
At the same time, decide on the configuration. The ITSOFT data center methodology is to help you.
  •  

Zora2012

A short test of processor performance is rather meaningless - some of the domestic low-cost carriers proudly declare that they will not load the purchased cores in any case.
First of all, I would drive something resource-intensive for a couple of days and weed out those who are not really VDS, but something else from the VDS comparison.
 And the same thing with memory - I would periodically try to completely give it to some process in order to check web hosting for an oversell multiplied by memory ballooning.
  •  

Ghazala

the technical level of the topic is incredibly low. From reading only one question. I reread the topic several times, which I already consider a feat, since: "here are some pictures, two graphs and a bunch of tables under the cut without clear comments and memos." So, after reading the article several times, I could not understand the following:

    What kind of tariffs have you tested with providers? What kind of virtualization? What is the type of drives after all? I provide this information "not only everything".

    Why Phoronix Test Suite, build-linux-kernel. "We wanted to take a utility that would perform tasks similar to what many users do regularly on their machines." Do many users compile software?
Isn't Apache accidentally used by "many" users? :-) There are a lot of CPU tests in the Phoronix Test Suite that give a versatile result. In addition, it's a pity that you didn't look at which processors are provided in the VM.

    "Conclusion. From the disk results, we can see that some providers limit the speed." How did you come to this conclusion? How does the result of passing the test in this case depend on the volume of the drive? Why is the difference in speeds just colossal? By the way, hence the next question.
    In what units of measurement does everything happen here? :-) There is no legend that is intelligible to the tables.

    What about IOPS and Latency. Okay, with Disk Latency, it's clear: using --gtod_reduce=1, you weren't going to collect them? But would iops? :-) There is a feeling that then the overall results would suffer greatly: you seem to have compared different types of disks from different hosting providers, and iops from SATA SSD would be very different from NVMe SSD.

    Speedtest as a network speed test is generally a separate story. I have a Speedtest server in my home Internet provider's network, - the speed is higher than the tariff and ping in 1 ms :-) And so on, and so on, and so on. I won't go into details at all: the fio test was unsuccessful, and I didn't even look at the RAM test. As a result, you make four muddy conclusions and a summary. Resume questions:
    "here's a processor for you." And what processor did the VM see? It is clear that emulation, but still.
    "here's a storage space for you." What type of storage was that? That is stated in the tariff.
    "here is the maximum channel speed." Here I'm sorry: I didn't understand anything from the tables :-)
    "And here's the price." And what did you buy?
  •