Do you know what our small team noticed? If some time ago, literally in January, we chose the IT infrastructure very negligently, now the attitude has changed a lot. There are really fewer resources (do not believe anyone, in IT, too!) And I want to get not the first software/hosting/application with a beautiful site, but a reliable, convenient, cool solution for reasonable, adequate money. And this, for all the breadth of choice, is still a problem. We needed a hosting and... we realized that choosing it is not so simple. We fell into the power of the well-known dilemma: "reliable, inexpensive, convenient - choose any two signs." We post the results of our search on Habré with a timid hope that our torments and tests will be useful to someone. Read, use, advise! Well, this... let's all come out)

ITKarma picture

Intro


Our team for one web project (while this is a secret) needed a hosting that would make our service available for collaboration 24/7. Before that, we used different shared hosting, but this hosting option is not suitable for us, because such providers rarely update software, and even if there is a choice of versions of MySQL, PHP and Apache, then usually there are several outdated and very outdated versions. And not everyone has the tools for working with Let’s Encrypt certificates, for example. But recently, we decided to pay attention to dedicated virtual machines. On the one hand, a little more maintenance falls on our shoulders, but on the other hand, we get full control over all installed software.

Choice of victims


There are several different hosting selection services, we selected the virtual server configuration based on the considerations that we need 2 CPU cores, 8 GB of RAM and at least 50 GB SSD and got the following list:

  • boodet.online
  • firstvds.ru
  • fornex.com
  • fozzy.com
  • ipipe.ru
  • ispserver.com
  • profitserver.ru
  • ruvds.com
  • vdsnow.ru

Get to know each other




boodet.online


You can buy 10, 20, 60, 100, 250, 500, 1000 or 2000 GB.

Well, for every CPU and RAM, there are limitations. For example, to use 12 GB of RAM, less than 6 CPU cores cannot be ordered, and this is the next value after 8 GB. You can order VPS with as many as 48 cores and up to 224 GB of RAM (minimum - 1 core and 0.5 GB of RAM). When paying for a year, the cost of the server for a month turns into 952 ₽.

ITKarma picture

Liked: Low Price

I didn’t like it: lack of complete configuration flexibility.

Nuances: Server removal takes some time. Perhaps some of the steps are performed manually. When returning funds, the hoster requires you to explicitly specify the details of the source of payment. The only hoster with such requirements among those we met.



firstvds.ru


Here you can select the required number of virtual server cores from 2 to 8 pcs., RAM with a step of 2 GB to 32 GB and a disk with a step of 10 GB from 20 to 2000 GB. There is no discount when ordering for a period longer than a month and amounts to 1549 ₽ per month.

ITKarma picture

Liked: VDS configurable configuration, payment through the quick payment system using a QR code.

I didn’t like it: server deletion before the end of the billing period is not provided, but as an exception you can delete it through technical support.


fornex.com


Selection only from fixed configurations. ₽ 2711.76 per month when paying for a year.

ITKarma picture

I didn’t like it: lack of flexible configuration.

Nuances: the uninstall function simply generates a technical support request.



fozzy.com


There is no configurator, there are ready-made tariffs, we will rely on a virtalku with 2 GB of RAM, 2 cores, 45 GB.

ITKarma picture

And add 6 GB to it. Cost - 1 939,00 ₽ per month.

ITKarma picture

I didn’t like it: the lack of a normal configurator.



ipipe.ru


Here, too, VPS needs to be assembled as a constructor. NVMe –2 + 6 GB RAM.

ITKarma picture

We receive 1 459,00 ₽ per month.

ITKarma picture

I didn’t like it: the lack of a normal configurator.



ispserver.com


Here, the configurator allows you to select the desired number of cores from 2 to 8 pcs, RAM in increments of 2 GB to 32 GB and a disk in increments of 10 GB from 20 to 2000 GB.

ITKarma picture

Liked: custom configuration.

I didn’t like it: server deletion before the end of the billing period is not provided, but as an exception you can delete it through technical support.


profitserver.ru


There is a full-fledged configurator, and the quantity of RAM that we order is the maximum that is available for order, and at least 1 GB can be ordered. You can order cores from 1 to 8, and a drive from 20 to 100 GB. When paying for the year, the cost is 1,668.50 ₽ per month

ITKarma picture

Liked: custom configuration, payment through the quick payment system using a QR code.

I didn’t like it: refused to remove the server and refund.



ruvds.com


There is a full configurator. Available 1 - 16 cores, 0.5 - 16 GB of RAM and 10 - 600 GB of disk.

ITKarma picture

But we chose a ready-made tariff, because it’s cheaper - only 1333 ₽ per month.

ITKarma picture

Liked: custom configuration.

I didn’t like it: the selected tariff can only be bought for exactly three months, and you cannot renew the server earlier than a few days before the end of the billing period.



vdsnow.ru


There is a full-fledged configurator. You can select from 1 to 8 cores, from 1 to 32 GB of RAM and from 10 to 150 GB of disk. ₽ 1320 monthly without discount when paying for a longer period.

ITKarma picture

Liked: flexible configuration.



The purpose of the battle


We selected several services and decided to choose the most suitable one, both in price and in performance. Hoping to find a service that is both cheap and productive is utopia, so we will try to find a balanced solution.

Preparing for battle


In order not to reinvent the wheel and not spend much time, we decided to use a ready-made package of performance tests - Phoromatic . At first, the idea was to simply launch some console benchmark (like sysbench) via cron on a schedule.But a little googling, we found a very interesting option: www.phoronix-test-suite.com .

Phoronix Test Suite (PTS) is free, open source software for Linux and other operating systems, developed by Michael Larabel and Matthew Tippett.

The Phoronix test suite was endorsed by sites like Linux.com, LinuxPlanet, and Softpedia called it “the best platform for testing performance.” Phoronix Test Suite is also used by Tom's Hardware, ASELabs, and other test sites.

In essence, this is a huge library of various test problems, with which you can evaluate the quality and stability of the work of an entire physical machine, as well as conduct a highly specialized test aimed at something specific. But we were especially attracted to the Phoromatic subsystem.

Phoromatic is a web-based remote test management system for the Phoronix Test Suite. It is able to automatically run tests on a schedule or on a specific event (trigger). Phoromatic can manage multiple test nodes simultaneously in a test farm or distributed environment.

Phoromatic runs on a separate server, after which test machines connect to it. The process is as simple as possible, the developers have provided ready-made scripts for installation for both Unix systems and Windows in their repository. We just have to monitor the availability of the necessary dependencies for the work and execute the installation script, then all the work will be done in the Phoromatic web interface.

After starting Phoromatic, go to the web interface, where we will be asked to provide administrator credentials. After that the main page of the system will open:

ITKarma picture

In general, Phoromatic can independently deploy the necessary components on test machines. You only need to provide SSH access:

ITKarma picture

This can be convenient if you have a huge fleet of tested machines. We went the other way. Phoronix Test Suite was installed on each test machine with a simple command:

phoronix-test-suite phoromatic.connect my-domain.xyz:8855/1P81YS 

they joined the Phoromatic server. Next, we combined all the systems into one group, which allowed us to run tests synchronously on all machines.

ITKarma picture

Then proceed to the selection of the necessary tests. We settled on the following kit:

System CPU\RAM: >> Sysbench [pts/sysbench-1.0.0]      This is a benchmark of Sysbench with CPU and memory sub-test >> Apache Benchmark [pts/apache-1.7.2]      This is a test of ab, which is the Apache benchmark program. This test profile measures how many requests per second a given system can sustain when carrying out 1,000,000 requests with 100 requests being carried out concurrently. >> PHPBench [pts/phpbench-1.1.5]      PHPBench is a benchmark suite for PHP. It performs a large number of simple tests in order to bench various aspects of the PHP interpreter. PHPBench can be used to compare hardware, operating systems, PHP versions, PHP accelerators and caches, compiler options, etc. The number of iterations used is 1,000,000. === CPU: >> Swet [pts/swet-1.0.0]      Swet is a synthetic CPU/RAM benchmark, includes multi-processor test cases. >> OpenSSL [pts/openssl-1.11.0]      OpenSSL is an open-source toolkit that implements SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. This test measures the RSA 4096-bit performance of OpenSSL. === RAM: >> pmbench [pts/pmbench-1.0.2]      Pmbench is a Linux paging and virtual memory benchmark. This test profile will report the average page latency of the system.      - Concurrent Worker Threads: 2 - Read-Write Ratio: 50% >> Tinymembench [pts/tinymembench-1.0.2]      This benchmark tests the system memory (RAM) performance. === Network: >> Loopback TCP Network Performance [pts/network-loopback-1.0.3]      This test measures the loopback network adapter performance using a micro-benchmark to measure the TCP performance. === Disc: >> Flexible IO Tester [pts/fio-1.13.2]      Fio is an advanced disk benchmark that depends upon the kernel's AIO access library.      - Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory      - Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4MB - Disk Target: Default Test Directory      - Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 512KB - Disk Target: Default Test Directory      - Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 64KB - Disk Target: Default Test Directory      - Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory      - Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4MB - Disk Target: Default Test Directory      - Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 512KB - Disk Target: Default Test Directory      - Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 64KB - Disk Target: Default Test Directory >> SQLite [pts/sqlite-2.1.0]      This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database.      - Threads/Copies: 1 

A similar set may seem redundant, but we wanted to get an idea of ​​the operation of each of the system components: disk, RAM, central processor, network.

Now you need to create the schedule for running the tests:

ITKarma picture

ITKarma picture

ITKarma picture

We throw all the tests we have chosen there:

ITKarma picture

As a result, we got 4 scenarios with the same set of tests. Scripts were run at 04:00, 10:00, 14:00 and 19:00 every day. A sequential start of all selected tests was initiated and results were obtained. Now all that was left was to wait. After 2 weeks, we decided that was enough, and turned off the scripts.

The results can be found directly in the browser and even make some comparisons between the tested sites. However, with such a large volume, this is very inconvenient. Therefore, we uploaded all the results to CSV and independently analyzed the results. The resulting table is attached to this article so you can analyze the results yourself.

Battle



Having unloaded the test results for each server, we combined them on several sheets in LibreOffice Calc (alternative to MS Excel). For each hoster, a separate sheet. Next, the arithmetic mean was taken for all the results obtained within each test. Thus, we obtained averaged results without reference to time, which will allow us to more adequately evaluate the performance of machines, not taking into account the temporary load flows created by the servers of other clients.

If you wish, you can independently build graphs for each test, for each hoster and understand how much the performance differs from 1 a.m. on Saturday from 3 a.m. on Saturday.

The obtained average results were summarized on one sheet with the straightforward title “Arithmetical mean”. Now you can build diagrams that clearly reflect the difference between the hosters for each test. On the sheet “Final result” you can just see the data in a form convenient for human perception. Each column shows both the actual arithmetic average value, and it is the same, but in terms of 1000 ₽. This will allow us to understand which of the hosters is better in terms of price-performance ratio. You can see two columns in the charts:

  • Blue is the actual value
  • Red - in terms of 1000 ₽.

In the final standings, values ​​adjusted for value were taken into account.Also note that not all tests mean better, this is indicated by column “B”:

  • HIB - Higher Is Better or More Is Better (The more, the better)
  • LIB - Low Is Better or Fewer Is Better (Less is better)


We bring to your attention the test results:

ITKarma picture
sysbench processor performance test

ITKarma picture
sysbench memory performance test

ITKarma picture
Flexible IO Tester IOPS Disk Speed ​​Test

ITKarma picture
Flexible IO Tester MB/s Drive Speed ​​Test

ITKarma picture
Apache Benchmark Static Web Page Serving Web Server Performance Test

ITKarma picture
PHP Benchmark Web Server Performance Test

ITKarma picture
Swet Processor Performance Test

ITKarma picture
Performance test of the Transfer Data Via Loopback network controller

ITKarma picture
Tinymembench memory performance test

ITKarma picture
pmbench disk performance test

ITKarma picture
SQLite Database Performance Test

ITKarma picture
OpenSSL Processor Performance Test

So, we got diagrams reflecting the average, not time-bound value for each test separately, as well as the same values, but adjusted for the cost of the tested configuration. Thanks to them, it’s relatively easy to understand the weaknesses and strengths of hosters.

Winner Determination


Let's move on to the results. To determine a favorite for ourselves, we assigned a certain weight to each place occupied in a particular test. The closer to the championship, the better. Thus, for the first place the hoster gets 9 points, for the last - 1 (and vice versa, when it comes to LIB results). Next, we simply summarize the scores for each test and build the last chart.

The highest results were for ruvds.com and ipipe.ru, but ruvds.com looks more attractive in terms of price-performance ratio.

ITKarma picture

Conclusion


Hostings got into a serious battle - we had almost identical configurations from the same price range, but, as we said at the beginning, now every little thing decides. We still managed to identify the winner, but before we announce it, there are a couple of things that I would like to pay attention to:

  • do not blindly copy our choice - you may have other goals, objectives, introductory and projects; you can save and find the best solution for yourself;
  • do not save on matches - cheap hosting can be frankly dangerous and harm not only your project, but your entire business;
  • take the time to choose and analyze a solution.

Well, in terms of price-quality ratio, Ruvds surprised us (specifically the Turbo tariff) - there are not only outstanding performance results, but also an adequate price.So the guys are not in vain blogging here - they are probably not ashamed to look into the eyes of the Habr IT cluster. Well, you - think for yourself, decide for yourself... And, most importantly, do not lose!

You can download the original table with the results here: mega .

Source