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

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

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

Итак начнем

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

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

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

Память RAM,
Gb

Процессор CPU, количество ядер

Диск Storage,
Gb

Канал связи
Network Out, Gbit/s

1

1

25

1

Б) Метод расчета производительности

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

Выбранное программное обеспечение вы можете также установить и использовать на других дистрибутивах Linux (CentOS, Debian, Arch и др.). Давайте рассмотрим утилиты, на которых мы остановились:

1. Процессор Phoronix Test Suite, build-linux-kernel. Phoronix Test Suite огромный набор тестовых программ под разные задачи, здесь можно найти множество полезных утилит, но мы остановились на build-linux-kernel, которая измеряет скорость сборки ядра Linux. Мы хотели взять утилиту, которая будет выполнять задачи, подобные тому что выполняют многие пользователи регулярно на своих машинах, начиная с простых вычислений, например, установкой и запуском программ, и заканчивая итерациями посложнее их компиляцией и сборкой.

2. Память Lmbench. Основная особенность данной программы заключается в записи в память блоков разного размера за одну итерацию и способности показать отличия в производительности разных конфигураций на одной и той же аппаратной части. Она измеряет множество значений, из которых мы выбрали пропускную способность памяти при выполнении последовательного чтения данных (Memory read bandwidth), последовательной записи данных (Memory write bandwidth), выборочного чтения и записи данных вместе (Memory partial read/write bandwidth), так как прежде всего именно эти значения отражают способность быстрого доступа к информации в/из памяти.

3. Диски fio. Данная программа выполняет нагрузку на дисковую подсистему, отображая показатели скорости нужного типа операций в IOPS. Мы измеряли значения по чтению, записи, чтению и записи совместно (по соотношению 50/50), руководствуясь параметрами доступа к информации на дисках.

4. Сеть speedtest-cli. Программа измеряет скорость сети. Мы остановились на значении исходящей скорости, так как передача данных клиентам на серверах и VDS происходит гораздо чаще, чем операции скачивания, и этот параметр обычно всегда ниже входящей скорости.

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

Теперь мы можем уже сравнивать и технические показатели VDS между собой (Score в таблицах ниже).

Примечание: Показатели процессора чем ниже, тем лучше (быстрее вычисляет, требуется меньше времени), у всех остальных параметров — чем выше, тем лучше (отображение производительности: выше сама скорость).

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

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

,

1. Процессор

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

Краткая инструкция к установке и тестированию:

wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_10.0.1_all.deb

apt install gdebi-core

gdebi phoronix-test-suite_10.0.1_all.deb

phoronix-test-suite install build-linux-kernel

phoronix-test-suite run build-linux-kernel

Путь, где хранятся файлы по умолчанию: /var/lib/phoronix-test-suite/test-results/

2. Память

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

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

Краткая инструкция по установке и тестированию:

apt install lmbench

mkdir /var/tmp/lmbench

lmbench-run

При каждом запуске будет задан ряд вопросов для настройки тестов (указаны те, что мы использовали): MULTIPLE COPIES [default 1]: 3

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

Job placement selection [default 1]: Определяем способ распределения задач по процессорным ядрам. Если нет особых требований, лучше оставить это системному планировщику (вариант по умолчанию).

MB [default 5562]: 6554

Количество доступной оперативной памяти. Не более 80% от общего количества памяти системы.

SUBSET (ALL|HARDWARE|OS|DEVELOPMENT) [default all]: Выбор используемого набора тестов: все, оборудование, операционная система, разработка.

FASTMEM [default no]: yes

Включение режима быстрой проверки памяти. В нем используется упрощенное измерение задержек ОЗУ (шаг данных при тестировании начиная с 128 байт). При размере кэша процессора больше 128 байт, тестирование с меньшим шагом бессмысленно.

SLOWFS [default no]: Включение режима проверки медленных файловых систем. При тестировании жестких дисков с древними файловыми системами процесс может затянуться и там эта опция нужна. При тестировании ОЗУ не используется.

DISKS [default none]: Указание тестируемых жестких дисков (/dev/sda и т.д.). По умолчанию тестирование выключено. Нас интересует только ОЗУ.

REMOTE [default none]: Настройка тестирования сети. По умолчанию выключено.

Processor mhz [default 1800 MHz, 0.1402 nanosec clock]: 2200

Задание частоты процессора. Определяется тестом автоматически, однако, не всегда верно. Если значение по умолчанию не соответствует реальности, указываем частоту вручную.

FSDIR [default /var/tmp/lmbench]: Задание папки для временных файлов, необходимых при тестировании. Свободного места на диске с этой папкой должно быть не меньше указанного выше количества доступной оперативной памяти и указанная папка должна быть создана юзером вручную, иначе тест выдаст соответствующую ошибку.

Status output file [default /dev/tty]: Место назначения для вывода сообщений в процессе выполнения тестов. По умолчанию — консоль.

Mail results [default yes]: no

Отправка результатов в онлайновую базу данных. Путь, где хранятся файлы по умолчанию: /var/lib/lmbench/results/

3. Диски

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

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

Краткая инструкция по установке и тестированию:

apt install fio

  1. Для смешанных операций записи и чтения по 50%:

fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=testfio —bs=4k —iodepth=64 —size=8G —readwrite=randrw —rwmixread=50

  1. Для операций чтения:

fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=testfio —bs=4k —iodepth=64 —size=8G —readwrite=randread

  1. Для операций записи:

fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=testfio —bs=4k —iodepth=64 —size=8G —readwrite=randwrite

Вы можете записывать эти данные в файл, например, дописывая > disk в конце каждой команды.

4. Сеть

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

Краткая инструкция по установке и тестированию:

apt install speedtest-cli

speedtest

Вы можете записывать эти данные в файл, например, дописывая > network_speed в конце команды.

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

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

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

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

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

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

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

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

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

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

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

ITSOFT

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

16

1

5

9040

2422

46211

0,725

5,70

0,21

0,037

2

2

32

1

10

18400

1198

55711

0,723

6,95

0,29

0,042

4

4

64

1

20

25986

560

60011

0,736

9,45

0,40

0,042

8

6

96

1

33

25115

384

60689

0,735

12,80

0,44

0,035

Остальные данные 12-ти компаний можно посмотреть под катом.

Linode

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

25

1

5

11578

1674

47044

2,935

5,00

0,42

0,084

2

1

50

2

10

10440

1858

43000

2,385

6,25

0,36

0,057

4

2

80

4

20

22940

788

47133

1,457

6,56

0,39

0,059

8

4

160

5

40

54511

245

60922

2,371

7,31

0,81

0,111

Digital Ocean

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

25

1

5

9326

1270

51489

0,158

5,00

0,19

0,039

2

1

50

1

10

9367

1178

49233

1,017

7,50

0,27

0,036

4

2

80

1

20

15829

872

50244

0,612

10,31

0,28

0,027

8

4

160

1

40

33002

294

84800

1,174

15,31

0,61

0,040

Yandex

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

25

10

11,26

27965

573*

467

1,435

8,73

0,36

0,041

2

1

50

10

15,52

26212

814*

916

1,689

8,15

0,34

0,042

4

2

80

10

29,12

14863

796

1365

1,338

8,46

0,26

0,031

8

4

160

10

58,23

22134

425

2300

1,444

9,19

0,37

0,041

* — использовалось 2 ядра по 50%, т.к. тарифы только от 2 ядер

Selectel

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

8

1

8,82

11307

1273

23578

0,714

13,51

0,20

0,015

2

1

50

1

18,96

13044

1242

18322

0,759

14,22

0,21

0,014

4

2

80

1

34,02

22845

647

18322

0,789

17,54

0,30

0,017

16

4

128

1

77,24

34973

315

18311

0,717

29,12

0,45

0,015

Leaseweb

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

20

1

4,71

9021

1602

2661

1,128

5,00

0,18

0,036

2

1

40

1

9,43

12319

1186

2663

1,402

7,37

0,23

0,032

4

2

60

1

17,69

18996

779

2662

1,702

9,58

0,32

0,033

8

4

80

1

29,49

35426

317

2661

1,430

12,44

0,48

0,039

Firstvds

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

20

0,1

2,46

10552

1168

6827

0,082

8,15

0,12

0,015

2

1

20

0,1

3,1

10695

1180

6827

0,082

9,88

0,12

0,012

4

2

40

0,1

6,22

16487

584

6827

0,076

17,69

0,20

0,011

8

6

120

0,1

16,09

26532

266

6827

0,077

42,24

0,37

0,009

Ruvds

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

0,5

1

10

0,1

1,69

9137

2108

374

0,098

6,55

0,08

0,012

4

2

40

0,1

19,97

14722

884

295

0,066

56,79

0,14

0,003

8

2

80

0,1

37,9

18351

653

32355

0,065

103,63

0,24

0,002

16

4

160

0,1

75,79

31306

261

29971

0,070

198,36

0,44

0,002

Firstbyte

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

20

0,2

1,95

8529

1946

27289

0,003

4,02

0,12

0,030

1

3

40

0,2

4,4

20671

727

25944

0,004

7,65

0,22

0,029

3

4

70

0,2

9,73

20760

563

29956

0,004

14,45

0,26

0,018

6

5

90

0,2

15,57

18609

699

21978

0,234

21,97

0,23

0,011

Beget

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

15

0,1

4,29

13546

923

142544

0,011

14,66

0,38

0,026

2

2

30

0,1

8,57

20822

694

50778

0,717

25,35

0,33

0,013

4

4

60

0,1

17,92

35069

338

53378

1,239

48,91

0,54

0,011

8

4

120

0,1

32,34

34753

294

118389

0,823

85,57

0,65

0,008

Sweb

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

2

10

1

4,53

19529

817

56022

0,109

5,66

0,27

0,048

2

2

20

1

8,43

18012

858

53100

0,108

6,85

0,26

0,037

4

4

40

1

15,57

22963

499

47885

0,109

8,27

0,32

0,039

8

8

80

1

28,56

23918

269

48053

0,109

11,16

0,43

0,039

REG.RU

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

2

15

0,1

5,6

14158

759

6827

0,082

18,43

0,16

0,009

2

2

25

0,1

11,21

14245

769

6827

0,225

33,63

0,18

0,005

4

2

30

0,1

23,25

13494

738

6827

0,084

67,33

0,16

0,002

8

4

45

0,1

38,83

28797

368

6827

0,226

106,11

0,33

0,003

Skyhost

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

20

0,03

1,94

2356

4795

1557

0,004

17,74

0,03

0,002

2

2

40

0,03

3,23

4014

1906

1546

0,004

28,23

0,05

0,002

4

4

60

0,03

5,83

5978

1172

1568

0,004

49,92

0,08

0,002

8

4

70

0,03

7,78

5975

1055

1569

0,004

66,26

0,09

0,001

Выводы

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

RAM, GB

Linode

Sweb

ITSOFT

Yandex

DO

Leasweb

Firstbyte

Selectel

Beget

Firstvds

RuVDS

REG.RU

Skyhost

1

0,084

0,048

0,037

0,041

0,039

0,036

0,030

0,015

0,026

0,015

0,012

0,009

0,002

2

0,057

0,037

0,042

0,042

0,036

0,032

0,029

0,014

0,013

0,012

0,012

0,005

0,002

4

0,059

0,039

0,042

0,031

0,027

0,033

0,018

0,017

0,011

0,011

0,003

0,002

0,002

8

0,111

0,039

0,035

0,041

0,040

0,039

0,011

0,015

0,008

0,009

0,002

0,003

0,001

AVG,
102

7,798

4,073

3,893

3,858

3,546

3,480

2,180

1,547

1,442

1,171

0,732

0,493

0,160

здесь:
RAM, GB показатель памяти у тарифов провайдеров
AVG,102 среднее значение четырех расчетных значений Effective score per $ выше в степени 102

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

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

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

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

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

Yandex

CPU, PTS, time

573*

814*

796

425

RAM, Lmbench, speed

27965

26212

14863

22134

* — использовалось 2 ядра по 50%, т.к. тарифы только от 2 ядер

Ruvds

CPU, PTS, time

2108

884

653

261

RAM, Lmbench, speed

9137

14722

18351

31306

Firstbyte

CPU, PTS, time

1946

727

563

699

RAM, Lmbench, speed

8529

20671

20760

18609

DO

CPU, PTS, time

1270

1178

872

294

RAM, Lmbench, speed

9326

9367

15829

33002

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

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

Linode

Заявлена Gbit/s

1

2

4

5

Реальная Gbit/s

2,935

2,385

1,457

2,371

DO

Заявлена Gbit/s

1

1

1

1

Реальная Gbit/s

0,158

1,017

0,612

1,174

Yandex

Заявлена Gbit/s

10

10

10

10

Реальная Gbit/s

1,435

1,689

1,338

1,444

Firstbyte

Заявлена Gbit/s

0,2

0,2

0,2

0,2

Реальная Gbit/s

0,003

0,004

0,004

0,234

Sweb

Заявлена Gbit/s

1

1

1

1

Реальная Gbit/s

0,109

0,108

0,109

0,109

Skyhost

Заявлена Gbit/s

0,03

0,03

0,03

0,03

Реальная Gbit/s

0,004

0,004

0,004

0,004

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

Linode

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

25

1

5

11578

1674

47044

2,935

5,00

0,52

0,10

Skyhost

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

8

4

70

0,03

7,78

5975

1055

1569

0,004

73,17

0,20

0,00

В данном случае мы можем увидеть как раз тот самый пример, когда производительность в Linode даже при таком раскладе, практически везде, существенно выше чем в Skyhost, а цена значительно ниже.

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

Selectel

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

8

1

8,82

11307

1273

23578

0,714

13,51

0,32

0,02

2

1

50

1

18,96

13044

1242

18322

0,759

18,96

0,43

0,02

Firstvds

RAM, GB

vCPU, Cores

Storage, GB

Network Out, Gb/s

Price, $

RAM, Lmbench, speed

CPU, PTS, time

Storage, Fio, IOPS

Network, Speedtest, Gbit/s

Reference price, $

Score

Effective score per $

1

1

20

0,1

2,46

10552

1168

6827

0,082

8,15

0,24

0,03

2

1

20

0,1

3,1

10695

1180

6827

0,082

11,24

0,29

0,03

А это уже тот случай, когда мы видим более дорогого, но вместе с тем более качественного провайдера по показателям производительности.

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

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

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

DO, Yandex, Ruvds*

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

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

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

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

*** функция пока на доработке, но в скором времени будет доступна

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

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

**** тест на 24 часа есть для любого варианта KVM/OpenVZ с бесплатными ОС (кроме включающих в себя win/isp manager) ДЛЯ НОВЫХ КЛИЕНТОВ как и написано на этой странице. Тест доступен за 10 рублей.

***** тестовый период есть — для юридических лиц firstvds.ru/promotion/test-dlya-yurlic, для крупных тарифов — кнопка “Хочу тест-драйв”, которая отправляет в чат со специалистом — вот как тут firstvds.ru/cpu-turbo, а также для физлиц по запросу в поддержку.

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

Leaseweb

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

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

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

Linode

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

1

1

11578

1674

2

1

10440

1858

Firstbyte* (очень противоречивые результаты)

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

1

1

8529

1946

1

3

20671

727

3

4

20760

563

6

5

18609

699

* вынес скорее как тему для дискуссий и размышлений, т.к. мы можем здесь видеть более производительные показатели памяти и процессора по сравнению с первой конфигурацией, это может говорить о слабой машине в первом случае и/или об оверселле, который заметен и далее (по крайней мере, тестируя этот момент на VDS со своего ноута с теми же конфигурациями, я не получил такие же результаты, приведу эти результаты ниже рядом).

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

1

1

8091

1402

1

3

7855

714

Beget

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

4

4

35069

338

8

4

34753

294

ITSOFT

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

1

1

10124

2016

2

2

18133

997

4

4

25470

498

8

6

26348

358

REG.RU

RAM, GB

vCPU, Cores

RAM, Lmbench, speed

CPU, PTS, time

2

2

14245

769

4

2

13494

738

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

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

Резюме

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

  • вот вам процессор с одним ядром (один двигатель под капотом – какой двигатель, кто производитель?)

  • вот вам оперативная память 1 Гб (один литр рабочего объема двигателя – а сколько с этого литра можно снять лошадей?),

  • вот вам место под хранение 25 Гб (объем багажника – это на крыше или в салоне?)

  • вот максимальная скорость канала 1 Гбит/с (это скорость автомобиля под уклон и на пустой дороге?)

  • А вот и цена. Что Вам еще нужно?

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

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

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

Source link

Добавить комментарий

Ваш адрес email не будет опубликован.