Сравниваем производительность VDS от именитых поставщиков: TimeWeb, JINO, VDSina, GoogleCloudPlatform, MicrosoftAzure, Yandex.Cloud)
А во второй части статьи мы протестируем VDS повышенной производительности, такие как — HiCPU и EPYC
Наши сервисы стабильно развиваются а их количество растет, что приводит к систематической нехватки вычислительных мощностей. Обычно мы увеличиваем доступные ресурсы на VDS, когда утилизация составляет около 85% — почти впритык). Однако, не так давно мы ввели в промышленную эксплуатацию новый аналитический сервис и сразу стало понятно, что нам необходимы не только свободное пространство на дисках и свободные ядра CPU, но и крайне важна производительность VDS целиком.
Не долго думая был собран на коленке «синтетический» тест, и придумана методология тестирования и сравнения. Претендуют ли результаты на объективность? Весьма сомнительно… потому как в пределах одного поставщика услуг VDS мы случайно получили две абсолютно идентичные по характеристикам и тарифу виртуальные машины, но в то же время, разница в их производительности значительна…
Все виртуальные машины будут работать под управлением Ubuntu 18.04, а их аппаратная конфигурация будет подбираться максимально идентично друг-другу, не только по номинальным характеристикам, но и цене содержания в месяц (или самый дешевый из доступных тарифов). Настройки у всех машин в части софта одинаковые.
Методология тестирования сводится к следующему: скрипт на python обращается за данными к некому сервису через API с помощью request. Разбирает данные на значения и записывает в базу данных на PostgreSQL (v12 на дефолтных настройках) и следом в SQLite. При этом все происходит замер времени, которое скрипт тратит на каждую операцию. Вторая часть теста — чисто математическая = процессору необходимо последовательно возвести 3 числа в степень 10млн. Так же, производится замер времени и вычисление его среднего. Результаты сводятся в отдельную БД на SQLite. Скрипт запускается cron’ом каждые 10 минут. Плановая длительность теста = 120 часов. Ниже будут исходники.
К слову говоря, между коллегами так же возникали разногласия относительно производительности БД — кто-то говорил, что PSQL будет значительно быстрее работать, нежели SQLite. Ну что же… посмотрим на результаты тестирования….
Перечень тестируемых VDS в первой части:
TIMEWEB — мы давно работает с этими ребятами, все наши production-проекты и домены хостятся у них. Надежные сервисы и удобный интерфейс для управления ими. Для этого теста выберем конфигурации Danny: CPU: 1 x 2.8GHz, RAM: 1GB, NVMe 10Gb, WAN: 200 Мбит/сек. Стоимость: 189р/мес
JINO — пользуемся различными услугами этой компании вот уже 11 лет. Стабильно работающие услуги и юзер-френдли панель управления с гибкими настройками. Выбранная конфигурация: Бета: CPU: 2 x 2.0GHz, RAM: 4GB, SSD+HDD 40Gb, выделенный IP. Стоимость: 588р/мес
VDSina — мы впервые зарегистрировались в качестве клиента у этого поставщика — будет интересно посмотреть на результаты теста. Заказали на стандартном тарифе вот такое железо: 1Gb RAM / 1 core vCPU (3.2Ghz) / 30Gb NVMe. Стоимость: 11р/день (330р/мес)
GoogleCloudPlatform — первое применение. Не самая удобная настройка и обслуживание. Кроме того, весьма не дешево стоят ресурсы. Наш выбор: g1-small: 1vCPU(Intel Haswell), 1,7Gb RAM, SSD: 10Gb. Стоимость: 1230р/мес (самое дешевое решение)
Microsoft Azure — первое применение. Не элементарное, но логичное управление услугами. Виртуальная машина: Standard B1s (2Gb RAM, 1vCPU, SSD 30 GB) Стоимость: 945р/мес
Yandex.Cloud — первое использование. Очень приятное управление, однако совсем не дешево. Наш выбор: Intel Cascade Lake 100% vCPU, 2Gb RAM, SSD 5Gb. Стоимость: 1510р/мес
А вот и результаты тестов:
Полученные в ходе 120-ти часового тестирования данные были сведены в общую таблицу и сгруппированы по VDS, а к метрикам применена функция AVG (усреднение). Вот что получилось:
Так получилось, что мы взяли на тест у TimeWeb (TW) два идентичных сервера, но на принципиально различных IP адресах — предполагаем, что они в разных дата-центрах.
Кроме того у Microsoft был взят на тест еще один план — D2v3 — в его составе: 2 CPU + 8 Gb RAM за 4380 руб/мес…
Приведенные в таблице результаты отсортированы по скорости работы PostgreSQL (в поисках максимальной производительности в этом направлении)
Значения в таблице указаны в секундах для определенного набора операций. Чем меньше значение — тем лучше!
Файлы с кодом тестового скрипта и запросов можно посмотреть на нашем сайте в соответствующей статье: https://itsblog.ru/2020/09/18/большой-и-честный-тест-vds-часть-первая-с/