Привет! Хочу поделиться своими результатами сравнения облачных платформ AWS, Azure и Google. Под катом – результаты по производительности, которые получает обычный пользователь, и их сравнение по критерию «цена/качество».
Для начала я ввел такой показатель как количество очков, получаемое средствами тестирования, деленное на стоимость данной виртуальной машины в час. Для сравнения производительности виртуальных машин использовались следующие «инстансы»:
Cloud | Vm Size | Cores | Ram | PriceHour на windows |
---|---|---|---|---|
AWS | m4.xlarge | 4 | 16GB | $0.406 |
Azure | Standard D3 v2 | 4 | 14GB | $0.422 (0.488)* |
n1-standard-4 | 4 | 15GB | $0.306** |
* Текущая цена на промо позиции, в скобках обычная цена.
** Цена с 30% скидкой при условии использования виртуальной машины 24/7 в месяц.
Все «инстансы» были «подняты» в Европе – ИрландияГерманияБельгия. Для них использовались SSD различных конфигураций:
- Google Cloud – 100GB, максимум для «триала»;
- Amazon – 30GB, максимум по умолчанию;
- Azure – 127GB, по умолчанию.
Для того чтобы тесты были максимально объективными, я никак не настраивал виртуальные машины. Все «инстансы» используют Windows Server 2016, а для последнего теста – Ubuntu 16.04.02 LTS. Также я отказался от каких-либо настроек ОС и пришлось установить GeekBench для проведения тестов. Я использовал триальные версии с сайтов производителя. С помощью apt-get для Ubuntu был установлен «бенчмарк» Hardinfo. Это единственные настройки, произведенные с операционной системой перед запуском тестов.
Какие тесты были использованы
На всех виртуальных машинах я 5 раз последовательно «прогонял» следующие тесты:
- GeekBench (только Windows).
- CrystalDiskMark (только Windows).
- 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 |
6188.2 | $0.306 | 20 222 |
Итого: Azure, AWS, Google Cloud.
Более подробные результаты можно посмотреть в репозитории.
CrystalDiskMark
Результаты CrystalDiskMark самые неоднозначные, но скорее всего такая разница обусловлена тем, что платформы Google CloudAWS необходимо дополнительно конфигурировать для достижения оптимальной производительности, в то время как Azure в конфигурации по умолчанию показывают хорошую производительность. Кроме того, я совершенно не учитываю цену, так как её довольно сложно подсчитать. Чем больше цифры в тестах, тем лучше.
В данной конфигурации Azure оставил конкурентов далеко позади по всем показателям: последовательное чтениезапись, «рандом» 4к чтениезапись, «рандом» 4к чтениезапись с глубинной очереди равной 32. Я думаю результат интересный, потому что это машины по умолчанию, следовательно, это результат, который получит среднестатистический пользователь.
Итого: Azure, AWS, Google
Hardinfo
Интерпретацию результатов тестов Hardinfo я оставлю читателям. Все участники теста показали приблизительно одинаковый результат.
Выводы
Все облака имеют свои сильные и слабые стороны:
- Google – отличную систему дисконтирования, которая включается автоматически и, на первый взгляд, действительно дает большой бонус.
- Amazon – очень сильный с точки зрения доверия к бренду и наиболее популярная платформа.
- Azurе – имеет преимущество в производительности за счет продажи настоящих ядер, а не виртуальных hyper-threading threads (vCPU).
При пересчете мощности в денежном выражении, картина несколько меняется и Google с 30% скидкой начинает проигрывать платформе Azure в среднем на ~10%, хотя при сравнении в лоб калькуляторов обоих платформ может показаться совсем обратная картина. Amazon, к сожалению, начинает проигрывать на 28% в деньгах за производительность по тестам GeekBench.
Естественно эти тесты являются синтетическими и для каждого отдельного решения или приложения нужно проводить специализированные нагрузки, но это может быть хорошей отправной базовой точкой при выборе.
Автор: 4c74356b41