Выбор хостинг-провайдера и виртуального сервера, или Как самому найти то, что нужно

Kate

Administrator
Команда форума
Вы говорите, что выбирать надо из двух зол?! Тоже мне ассортимент!“
Веслав Брудзиньский


Выбор провайдера хостинга и виртуального сервера конечно же не ограничивается двумя вариантами на рынке десятки дата-центров, выбор нетривиален и вот почему. В тарифах провайдеров услуг изначально нет полной информации о типах процессоров, памяти, дисках, их производительности, о канале связи и т.д. Более того, даже открытые данные не приведены, как говорится к одному знаменателю с тем, чтобы их можно было сравнить. Поэтому перед нами всегда стоит вопрос: как понять что из себя представляют те или иные услуги и как сделать правильный выбор? К примеру, стоимость виртуального сервера у одного провайдера в 4 раза выше, чем у другого это говорит о жадности хостера или высоком качестве услуг?

Дабы разобраться в теме сделаем тест-драйв провайдеров и проведем сравнение сопоставимых услуг. Столкнем лбами 13 компаний. Мы взяли представителей разных ниш, отличающихся, как широтой услуг, так и ценами, с тем, чтобы выборка была репрезентативной и показала срез рынка. Итак, разместим хостеров в алфавитном порядке:

  1. Beget
  2. Digital Ocean (DO)
  3. Firstbyte
  4. Firstvds
  5. ITSOFT
  6. Leaseweb
  7. Linode
  8. REG.RU
  9. Ruvds
  10. Selectel
  11. Skyhost
  12. Sweb
  13. Yandex
Но прежде чем сравнивать, укажем что данное сравнение дает? А дает исследование следующее:

  • представление о рынке и уровне конкуренции;
  • рекомендации по рациональному использованию денег;
  • возможность выбора необходимой конфигураций VDS;
  • показывает наиболее производительное сочетание ресурсов CPU/RAM;
  • позволяет исключить ошибки при смене тарифа или провайдера;
  • возможность сравнения VDS с обычными серверами и другими решениями.
Замечание: мы не рассматриваем особенности и различия виртуальных машин VDS, VPS и других облачных решений и для простоты все их будем называть VDS.

5ffbe14f7ea58c9ffa8e2f080d29ab03.jpeg

Итак начнем​

А) Методика расчета тарифов

В исходных данных мы имеем только стоимость всей конфигурации VDS. Так как не все провайдеры разбивают их на составляющие, то это довольно скудная информация, которая не дает нам четкого представления о том, за что мы собственно платим. Чтобы дать представление об этих параметрах, в рамках нашей модели мы учитываем каждый элемент, а именно CPU — RAM — Storage — Network с равным весом по 25%. При необходимости вы можете модифицировать коэффициенты под ваши потребности и получить результаты уже со своими данными.

e3019d7f83543cce6e67a16e5854e677.png

Для приведения любой конфигурации к общему знаменателю, что очень важно, надо иметь эталон, относительно которого мы будем производить сравнение. Поэтому мы брали значения тарифов и пересчитывали их так, чтобы их можно было сравнивать между собой по цене относительно эталона (Reference price в таблицах ниже). В качестве эталона мы остановились на следующей конфигурации:

Память RAM,
Gb​
Процессор CPU, количество ядер​
Диск Storage,
Gb​
Канал связи
Network Out, Gbit/s​
1​
1​
25​
1​
Б) Метод расчета производительности

В качестве основы мы выбрали дистрибутив Ubuntu (20.04) – это бесплатное ПО со множеством готовых решений, которое позволяет тестировать VDS со множеством параметров, без дополнительных лицензий.

При расчете производительности, мы сталкиваемся с той же проблемой сравнения показатели нужно привести к общему знаменателю, поэтому мы пересчитываем полученные измерения по отношению к лучшим результатам, которые в данном случае выполняют роль эталона и берутся за 100%. Вынесем их отдельно:

RAM, Lmbench MAX​
Storage, Fio MAX
54511​
245​
142544​
2,935​
Теперь мы можем уже сравнивать и технические показатели VDS между собой (Score в таблицах ниже).

Общий знаменатель​

Чтобы объединить показатели производительности и цены, разделим первое значение на второе. (Effective score per в таблицах ниже). Данный показатель отражает то, что мы называем эффективностью VDS (производительность VDS за его стоимость), его мы и будем использовать при сравнении провайдеров в итоговой таблице.

41e1320aab1cb9dc1cc0066ffa076c95.jpeg

Тестирование​

1. Процессор

Программа делает три измерения и высчитывает среднее значение, которое указано в таблице ниже (CPU, PTS). При сильных расхождениях делается до десяти измерений.

2. Память​

Программа делает множество измерений разных блоков. Чем больше объем памяти, тем больше измерений. Мы остановились на значениях 8-ми блоков от 1 до 134 Мб. При конфигурации в 1 Гб памяти максимальное значение блока достигло 134 Мб, поэтому его мы и взяли за верхний порог. При небольших значениях учитывается только кэш процессора, а так как значение кэша процессоров у всех разное, мы приняли решение начать с 1 Мб, чтобы показать влияние на результаты более качественного железа, но при этом минимизировать зависимость от кэша процессора. Для проверки измерений на сильное влияние кэша процессора мы дополнительно провели сравнение с вычислением среднего значения от трех последних измерений. Зависимость сохранялась и поэтому мы приняли решение остановиться на восьми, чтобы погрешности было меньше:

abd41a347b7c89fa982e5eafea1e20b3.png



Далее мы производили расчет среднего значения от восьми измерений (в случае с 512 Мб, бралось среднее из 7 измерений). Вычисляли три таких значения и рассчитывали среднее от них, оно и представлено в таблице ниже (RAM, Lmbench).

3. Диски​

Здесь мы вычисляли среднее значение трех измерений каждого типа данных. Полученные значения по трем типам данных складывали вместе и вычисляли уже среднее значение, оно и указано в таблицах ниже (Storage, Fio).

Допущение: для конфигурации машины с 512Мб у RUVDS использовался iozone, т.к. fio бы заблокирован с их стороны, измерения проводились аналогичным образом.

4. Сеть​

Здесь мы определяли среднее значение трех измерений исходящей скорости.

044c1faf52b5fba10034837cd58c6a1b.jpeg

Итоговые таблицы результатов с разбивкой по провайдерам​

Все значения мы собрали в таблицы, где указаны следующие данные:

а) Конфигурации тарифов

RAM, Gb – количество оперативной памяти в Гб
vCPU, Cores – количество виртуальных ядер процессора
Storage, GB – объем жесткого диска в Гб
Network Out, Gbit/s – исходящая скорость интернет соединения в Гбит/с
Price, $ – стоимость услуги в долларах (по курсу 1$ = 77 рублей)

б) значения измерений

RAM, Lmbench – производительность памяти
CPU, PTS – производительность процессора
Storage, Fio – производительность дисков
Network, Speedtest – производительность сети

в) расчетные данные

Reference price, $ – нормализованная стоимость услуги по эталону в долларах;
Score - приведенная производительность, в сотых долях (%);
Effective score per $ – эффективность VDS (производительность за стоимость).

Исследование помогло и нам самим провести работу над ошибками. Скорректировали цены по некоторым позициям (в сторону снижения), что порадовало потребителей.

368bb25bec0cf02e78908c4fced59271.png

Важное замечание: материал предлагает, если так можно сказать критически подойти к выбору провайдера и конкретной конфигурации виртуальной машины. Цены могут со временем меняться, поэтому не стоит делать упор на то, что сейчас у той или иной компании услуга стоит дороже или дешевле. Мы предлагаем методологию, которая со временем не утратит свою актуальность. Более того, на ее основе вы сможете выработать свое практическое пособие (будем рады, если поделитесь им с нами или в комментариях). Эту мысль мы также подчеркиваем и в резюме, поскольку считаем ее крайне важной.

Приведем пример с полученными данными нашей компании:

ITSOFT

RAM, GBvCPU, CoresStorage, GBNetwork Out, Gb/sPrice, $RAM, LmbenchCPU, PTSStorage, FioNetwork, SpeedtestReference price, $ScoreEffective score per $
11161590402422462110,7255,700,210,037
2232110184001198557110,7236,950,290,042
446412025986560600110,7369,450,400,042
869613325115384606890,73512,800,440,035
Остальные данные 12-ти компаний можно посмотреть под катом.

Выводы​

В итоге мы построили таблицу, где сравнили все результаты по выбранным провайдерам и привели их к читаемому виду:

RAM, GB

LinodeSwebITSOFTYandexDOLeaswebFirstbyteSelectelBegetFirstvdsRuVDSREG.RUSkyhost
10,0840,0480,0370,0410,0390,0360,0300,0150,0260,0150,0120,0090,002
20,0570,0370,0420,0420,0360,0320,0290,0140,0130,0120,0120,0050,002
40,0590,0390,0420,0310,0270,0330,0180,0170,0110,0110,0030,0020,002
80,1110,0390,0350,0410,0400,0390,0110,0150,0080,0090,0020,0030,001
AVG,
102
7,7984,0733,8933,8583,5463,4802,1801,5471,4421,1710,7320,4930,160
здесь:
RAM, GB показатель памяти у тарифов провайдеров
AVG,102 среднее значение четырех расчетных значений Effective score per $ выше в степени 102

Построим график эффективности по показателю AVG

03aa5cc06ec174d7598b9b177dd00ec4.jpg

Получилось три группы: одна из компаний ушла в отрыв, далее пелотон из пяти лидеров и следом догоняющие.

Второе важное замечание №2: Таблица да и вся методика построена из предположения, что каждый параметр имеет равный вес. В том случае, если Вы придаете большее значение, допустим производительности дисков, то картина распределения будет иной. Напомним, что наша задача – поделиться методикой оценки сервисов, поэтому окончательное решение и выводы Вы сделаете сами.

Вывод 1. Из результатов по дискам мы видим, что некоторые провайдеры ограничивают скорость. Скорее всего они это делают для снижения риска нагрузки на дисковую подсистему. Yandex, Ruvds (на начальных тарифах), Leaseweb, Firstvds, REG.RU, Skyhost.

Там где это различие менее заметное, могут использоваться просто разные конфигурации серверов.

Показатели сети не всегда соответствуют или даже приближаются к заявленным значениям. Это говорит об ограничениях на интерфейсах серверов с VDS, или о проблемах в сети провайдера. Также выяснилось, что конкретно speedtest, установленный из репозиториев, может занижать результаты сети. Мы со своей стороны также поработали над этими значениями и теперь можем гарантированно выделить 1 Гбит/с на каждый VDS. Мы не стали менять данные в таблице, чтобы показатели оставались сравнимыми, но отдельно покажем тут что, если производить измерения через speedtest ookla с их сайта, то результат будем иным:

03e57f8ff953278784e3ec0eb4fd675e.png

Инструкцию по установке установке можно найти по следующей ссылке

Возвращаясь к началу статьи, покажем ту самую вишенку на торте, на которую мы обращали ваше внимание вопрос соотношения цены и качества разных конфигураций, можно сравнить результаты первого VDS с первого места и последнего VDS с последнего места, давайте посмотрим, как интересно это сравнение выглядит:

Linode

RAM, GBvCPU, CoresStorage, GBNetwork Out, Gb/sPrice, $RAM, LmbenchCPU, PTSStorage, FioNetwork, SpeedtestReference price, $ScoreEffective score per $
112515115781674470442,9355,000,520,10
Skyhost

RAM, GBvCPU, CoresStorage, GBNetwork Out, Gb/sPrice, $RAM, LmbenchCPU, PTSStorage, FioNetwork, SpeedtestReference price, $ScoreEffective score per $
84700,037,785975105515690,00473,170,200,00
В данном случае мы можем увидеть как раз тот самый пример, когда производительность в Linode даже при таком раскладе, практически везде, существенно выше чем в Skyhost, а цена значительно ниже.

Возьмем еще одно сравнение:

Selectel

RAM, GBvCPU, CoresStorage, GBNetwork Out, Gb/sPrice, $RAM, LmbenchCPU, PTSStorage, FioNetwork, SpeedtestReference price, $ScoreEffective score per $
11818,82113071273235780,71413,510,320,02
2150118,96130441242183220,75918,960,430,02
Firstvds

RAM, GBvCPU, CoresStorage, GBNetwork Out, Gb/sPrice, $RAM, LmbenchCPU, PTSStorage, FioNetwork, SpeedtestReference price, $ScoreEffective score per $
11200,12,4610552116868270,0828,150,240,03
21200,13,110695118068270,08211,240,290,03
А это уже тот случай, когда мы видим более дорогого, но вместе с тем более качественного провайдера по показателям производительности.

Надеюсь что вы найдете в этих таблицах еще много интересного и сможете исследовать информацию самостоятельно при помощи данной методики.

Вывод 2. Из пункта 1 видно насколько важно проводить тестирование перед тем, как брать VDS в аренду. Возможно провайдеры переживают за безопасность. Можно предложить им сделать предварительную привязку ваших банковских карт и сбор паспортных данных. К сожалению, данная процедура доступна не у всех, или есть, но с определенными нюансами, давайте рассмотрим этот вопрос несколько подробнее:

Провайдеры, у кого есть тестовый период:

DO, Yandex, ITSOFT, Ruvds*

* протестировать диски скорее всего не дадут (у нас было так)

Провайдеры, у которых есть возможность взять поминутную, почасовую или суточную тарификацию:

Linode, Selectel, Sweb**, Beget, REG.RU**

** оплата за месяц, но можно отказаться через сутки/двое и вернуть средства

Провайдеры, у которых нет тестового периода, но можно менять тариф:

Firstbyte, Firstvds, Skyhost

Провайдеры, у которых тестового периода нет и тариф изменить не получится:

Leaseweb

Таким образом заключаем, что проведение тестов поможет вам исключить ошибки при выборе VDS.

Вывод 3. Наилучшие результаты бенчмарков достигнуты при соотношении x ядер vCPU к xGB RAM. Процессор успевает обрабатывать данные при таком объеме памяти более эффективно. Такая конфигурация не подойдет под все задачи и не выгодна провайдерам, так как не позволяет использовать весь потенциал ресурсов сервера, но обеспечивает лучшую производительность. Также видно, что большее количество ядер CPU не дает прироста при малом количестве памяти (обрабатывать нечего), однако такая конфигурация может использоваться для большого количества вычислений на лету (используется редко). Но большее количество памяти может быть использовано для последовательного доступа к большему количеству приложений.

Вывод 4. На основании полученных данных мы приняли меры по уменьшению стоимости некоторых тарифов, так что аналитическая работа была проведена не зря, ну а результаты исследований публикуем в открытом доступе. Пусть эти данные, а самое главное методология оценки провайдеров послужит хорошим людям.

c54956fa9443162128e13d7d70c8d0c4.png



Резюме​

Приняв решение хранить данные не в ведре не в собственной стойке, а в ЦОДе стороннего провайдера, потратьте время не только на обзвон возможных вариантов, но и на небольшое тестирование. Это окупится. Цены на услуги у большинства дата-центров весьма условны (так, к сожалению, принято на рынке). Покупая виртуальную машину, используйте подход, схожий с покупкой обычной машины. Приходя в автосалон вы же не говорите, что вам нужен кузов, четыре колеса и мотор, ну и чтобы скорость была за двести. Без анализа ситуации в автосалоне на сайте хостера вам выдадут типовой вариант:

  • вот вам процессор с одним ядром (один двигатель под капотом – какой двигатель, кто производитель?)
  • вот вам оперативная память 1 Гб (один литр рабочего объема двигателя – а сколько с этого литра можно снять лошадей?),
  • вот вам место под хранение 25 Гб (объем багажника – это на крыше или в салоне?)
  • вот максимальная скорость канала 1 Гбит/с (это скорость автомобиля под уклон и на пустой дороге?)
  • А вот и цена. Что Вам еще нужно?
Нет, так дело не пойдет. Вы же берете в аренду сервер не на неделю, скорее всего вы берете виртуальную машину на долгий срок для хранения и обработки критичных для вашего бизнеса данных. Поэтому потратьте время, протестируйте поставщиков, проведите замеры и выберите лучшего. Заодно и определитесь с конфигурацией. Методика дата-центра ITSOFT – вам в помощь.

Мы давно на рынке, поэтому не боимся поделиться “конфиденциальной” информацией. И да, статья не преследует чисто продажные или рекламные цели. Мы никого не агитируем, как указано выше, мы провели исследование, сделали для себя полезные выводы и делимся ими с заинтересованными людьми.

Фото (c) chevanon
Фото (c) chevanon

 
Сверху