Как стать автором
Обновить

Тестируем облачные платформы из Топ-3

Высокая производительность *Анализ и проектирование систем *Amazon Web Services *Microsoft Azure *Google Cloud Platform *
Привет, Хабр! Хочу поделиться своими результатами сравнения облачных платформ AWS, Azure и Google. Под катом – результаты по производительности, которые получает обычный пользователь, и их сравнение по критерию «цена/качество».

image

Для начала я ввел такой показатель как количество очков, получаемое средствами тестирования, деленное на стоимость данной виртуальной машины в час. Для сравнения производительности виртуальных машин использовались следующие «инстансы»:
Cloud Vm Size Cores Ram Price\Hour на windows
AWS m4.xlarge 4 16GB $0.406
Azure Standard D3 v2 4 14GB $0.422 (0.488)*
Google n1-standard-4 4 15GB $0.306**

* Текущая цена на промо позиции, в скобках обычная цена.
** Цена с 30% скидкой при условии использования виртуальной машины 24/7 в месяц.

update: уже после публикации статьи появилась новость про ОС диски меньшего размера в Azure, которые позволяют экономить еще порядка $2.18 в месяц. Результаты это никак не меняет, но позволяет экономить порядка 0.8% от цены виртуальной машины (Standard D3 v2).

Все «инстансы» были «подняты» в Европе – Ирландия\Германия\Бельгия. Создание происходило через соответствующие порталы облачных провайдеров. Для инстансов использовались SSD различных конфигураций:
  • Google Cloud – 100GB, максимум для «триала»;
  • Amazon – 30GB, максимум по умолчанию;
  • Azure – 127GB, по умолчанию.

Для того чтобы тесты были максимально объективными, я никак не настраивал виртуальные машины. Все «инстансы» используют Windows Server 2016, а для последнего теста – Ubuntu 16.04.02 LTS. Также я отказался от каких-либо настроек ОС и пришлось установить GeekBench для проведения тестов. Я использовал триальные версии с сайтов производителя. С помощью apt-get для Ubuntu был установлен «бенчмарк» Hardinfo. Это единственные настройки, произведенные с операционной системой перед запуском тестов.

Какие тесты были использованы


На всех виртуальных машинах я 5 раз последовательно «прогонял» следующие тесты:
  1. GeekBench (только Windows).
  2. CrystalDiskMark (только Windows).
  3. Hardinfo (только Ubuntu).

GeekBench


Максимально подробное описание я нашел по ссылке. Кратко говоря, общее количество тестов – 23, они разделены на несколько категорий – Cryptography, Integer, Floating Point, Memory. Но на самом деле, в результатах 25 тестов, возможно потому что у меня более новая версия. В тестах используются операции сжатия, работа с JPEG, парсинг HTML, SQLite. Я бы назвал его одним из самых всесторонних тестов на разные типы операций.

CrystalDiskMark


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

Hardinfo


Просто оставлю это здесь: CPU Blowfish, CPU CryptoHash, CPU Fibonacci, CPU N-Queens, FPU FFT, FPU Raytracing.

Результаты


GeekBench


Результаты многоядерного тестирования самые интересные, если посмотрим информацию о тестируемых системах, мы можем обратить внимание, что AWS и Google Cloud выдают такую картину: Intel Xeon @ xxx GHz 1 processor, 2 cores, 4 threads, в то время как Azure дает «честные» ядра: Intel Xeon E5-2673 v3 @ ххх GHz 1 processor, 4 cores. Я подозреваю, что в этом причина почти полуторакратного разрыва в производительности. Чем больше цифра в тесте, тем лучше.
Cloud GeekBench Score (1) Цена за час Perf Score / Цена (2)
AWS 6568.6 $0.406 16 177
Azure 9508.4 $0.422 22 530
Google 6188.2 $0.306 20 222



Итого: Azure, AWS, Google Cloud.
Более подробные результаты можно посмотреть в репозитории.

CrystalDiskMark


Результаты CrystalDiskMark самые неоднозначные, но скорее всего такая разница обусловлена тем, что платформы Google Cloud\AWS необходимо дополнительно конфигурировать для достижения оптимальной производительности, в то время как Azure в конфигурации по умолчанию показывают хорошую производительность. Кроме того, я совершенно не учитываю цену, так как её довольно сложно подсчитать. Чем больше цифры в тестах, тем лучше.






В данной конфигурации Azure оставил конкурентов далеко позади по всем показателям: последовательное чтение\запись, «рандом» 4к чтение\запись, «рандом» 4к чтение\запись с глубинной очереди равной 32. Я думаю результат интересный, потому что это машины по умолчанию, следовательно, это результат, который получит среднестатистический пользователь.

Итого: Azure, AWS, Google

Hardinfo


Интерпретацию результатов тестов Hardinfo я оставлю читателям. Все участники теста показали приблизительно одинаковый результат.

Выводы


Все облака имеют свои сильные и слабые стороны:
  • Google – отличную систему дисконтирования, которая включается автоматически и, на первый взгляд, действительно дает большой бонус.
  • Amazon – очень сильный с точки зрения доверия к бренду и наиболее популярная платформа.
  • Azurе – имеет преимущество в производительности за счет продажи настоящих ядер, а не виртуальных hyper-threading threads (vCPU).

При пересчете мощности в денежном выражении, картина несколько меняется и Google с 30% скидкой начинает проигрывать платформе Azure в среднем на ~10%, хотя при сравнении в лоб калькуляторов обоих платформ может показаться совсем обратная картина. Amazon, к сожалению, начинает проигрывать на 28% в деньгах за производительность по тестам GeekBench.

Естественно эти тесты являются синтетическими и для каждого отдельного решения или приложения нужно проводить специализированные нагрузки, но это может быть хорошей отправной базовой точкой при выборе.
Теги:
Хабы:
Всего голосов 20: ↑16 и ↓4 +12
Просмотры 25K
Комментарии Комментарии 18