Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure

в 10:37, , рубрики: AWS, azure, google cloud, Microsoft Azure, Облачные вычисления, системное администрирование

Когда говорят «облачная виртуальная машина», как правило, имеют в виду AWS. И когда все эти вопросы стали для меня актуальными, из любопытства решил провести небольшой эксперимент по оценке цены/скорости систем других крупных облачных конкурентов.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 1

Самое интересное, что по мере разматывания клубка во всей этой облачной истории внезапно всплыл один подвох, который перетасовал всю колоду. И у меня до сих пор нет ответа на вопрос, а как вообще можно вот так вот торговать мощностями, как делают это два упомянутых в заголовке гранда?
Кому интересно — добро пожаловать под кат.

Признаюсь, что богатого реального опыта работы с AWS, Azure и Google Cloud у меня до сего момента не было, потому я начал с простого гугления, т.к. «лобовое» сравнение характеристик не дало должного понимания картины. К примеру, при выборе многоядерных систем тот же Гугл оперирует значениями неких виртуальных ЦП, нигде не поясняя, что это значит. В результате не совсем понятно, какова именно будет производительность запущенной системы.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 2

В итоге я принял решение поставить простой эксперимент: запустить ряд несложных тестов производительности на инсталляциях трех топовых провайдеров облачных сервисов (ими стали AWS, Google Cloud и Microsoft Azure).

Во всех трех случаях были заведены новые аккаунты и подняты Windows Server 2016 на 4-х ядерных инстансах универсального назначения. Для AWS это EC2 m4.xlarge; для Google — n1-standard-4; для Azure — DS3_v2 Standard. Память выровнена во всех трех примерах до уровня Azure.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 3

Тут, кстати, крылась первая «засада». Нормально зарегистрироваться с первого раза получилось только с Azure. Google по каким-то причинам отказался принимать банковскую карту, заявив о «недопустимом способе оплаты» — хотя и Amazon и Azure восприняли карту нормально. У AWS глюкнула форма регистрации — да так, что пришлось обращаться в поддержку и ждать ответа. Техподдержка у них активная. Это плюс. Дважды перезванивали, дважды писали, но вопрос в итоге «висел» более недели.  

Но это мелочи, поэтому вернемся к тестам. Виртуальные машины подняты, что называется, «как есть», без какой-либо дополнительной доработки. Для проверки производительности во всех случаях запускался одинаковый набор тестов:

  • GeekBench 4 (на мой взгляд, самый показательный);
  • 7zip (как «контрольный выстрел»);
  • CristalDiskMark.

Результаты GeekBench 4

Amazon EC2 m4.xlarge в дата-центре во Франкфурте

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 4

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 5

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 6

Google Cloud (дата-центр us-central 1-c)

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 7

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 8

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 9

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 10

Microsoft Azure

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 11

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 12

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 13

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 14

Результат, если честно, немного удивил. Т.е. мы видим весьма заметное преимущество облака от Microsoft. И причина проста — Azure предоставляет полноценные четыре вычислительных ядра с высокой тактовой частотой, тогда как и Google и Amazon дают двухядерники, а цифра «четыре» получается за счет гипертрейдинга!

С Google, кстати, есть еще одна «засада». Уже после тестов, разбирая скриншоты, стало ясно, что инстансы от Azure и AWS у меня были расположены в Европе, а Google — в Штатах. Т.е. при поднятии сервера я не обратил внимание на регион. А тонкость тут в том, что изменить местоположение дата-центра при поднятии сервера нельзя. Делается это в общих настройках консоли всех виртуальных машин, что не совсем очевидно.

Тем не менее, думается, что еще два ядра от изменения географии дата-центра вряд ли появятся. Политика раздачи ресурсов у Google одинаковая, поэтому было решено оставить все как есть и тесты не переделывать (тем более, что за инсталляции каждый раз приходится платить некоторую сумму денег).

Результаты 7Zip

Результаты работы встроенного теста архиватора — исключительно для проверки GeekBench. И тут мы видим аналогичную картину, хотя с чуть меньшим расхождением. На диаграмму вынесен общий вычислительный балл Total Rating в MIPS.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 15

Теперь давайте посмотрим на скорость дисковой подсистемы.

Результаты CrystalDiskMark

Чтобы проверить работу дисковой подсистемы, я взял CrystalDiskMark и старенький Anvil’s Storage Utilities. Первый отработал на ура, и вот его результаты:

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 16

Azure и Amazon в целом работают достаточно шустро, а вот Google, по всей видимости, жестко ограничен рамками в 25 МБ/с. Попытка перепроверки данных в Anvil’s была успешной лишь отчасти. На сервере Amazon он показал результаты, аналогичные Crystal, а вот в «облаках» Azure и Google тестовые результаты вызвали огромное количество вопросов. Например в Google скорость линейной записи зафиксировалась на отметке в 240 МБ/с, в то время как внешний мониторинг дисковых операций на консоли управления не показывал трафика выше 20 МБ/с. А это даже ниже, чем зарегистрированные значения при запуске Crystal (два горба справа на скриншоте — работа дисковых тестов).

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 17

Ценник

Цена на Google Cloud самая низкая. Особенно с учетом 30% скидки, получаемой, если виртуалка работает большую часть месяца.  

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 18

Второй по цене выходит AWS. C учетом отдельной платы за хранилище в нашем случае мы получаем ~$346, что отображено на шапке соответствующей вкладки.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 19

Ну а цена на Azure формально самая высокая (~$356). Однако она не сильно отличается от AWS. А если учесть, что при регистрации в Azure мы получаем бонусные $200, так и вовсе становится средней.

Легкий тест производительности облачных платформ AWS, Google Cloud и Microsoft Azure - 20

Выводы

Главный вывод — на Azure мы получили полноценные четыре вычислительных ядра процессора Xeon E5-2673. За счет этого мы имеем чуть ли не 50% превосходство в скорости выполнения многопоточных задач над AWS. Да, это стоит чуть дороже. Однако стартовые $200 и, будем честны, совсем не 50%-е превышение цены, говорят сами за себя.

Дисковая подсистема тоже не одинакова. И если хранилища Azure и AWS «шевелятся» достаточно шустро, то у Google выставлен очень жесткий и низкий барьер на дисковые операции. И если это кому-то критично, то имейте в виду. С другой стороны, у Гугла тестировался американский дата-центр. Возможно, что если бы я взял европейский, картина могла быть другой. Но сейчас пока нет времени это проверить.

P.S.: Уже после заливки материала на Хабр увидел вот эту статью. Ну, значит, все действительно так и есть.

Автор: dracon134

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js