Сравнение производительности IaaS-экосистем. Часть 2: Amazon Web Services

Infrastructure As a Service
Продолжаем про тестирование производительности облачных инфраструктур от ведущих сервис-провайдеров.

Сравнение производительности IaaS-экосистем. Часть 1: Методология
Сравнение производительности IaaS-экосистем. Часть 2: Amazon Web Services
Сравнение производительности IaaS-экосистем. Часть 3: AWS C3
Сравнение производительности IaaS-экосистем. Часть 4: Google Compute Engine
Сравнение производительности IaaS-экосистем. Часть 5: Microsoft Azure Virtual Machines
Сравнение производительности IaaS-экосистем. Часть 6: Rackspace
Сравнение производительности IaaS-экосистем. Часть 7: Softlayer
Сравнение производительности IaaS-экосистем. Часть 8: HP Cloud

Сегодня поговорим про Amazon Web Services.

Amazon Web ServicesВ процессе тестирования было запущено более 175 виртуальных машин в инфраструктуре AWS. Тестировались все типы инстансов, каждый из которых тестировался во всех регионах США и во всех зонах доступности (в пределах США у Amazon есть три основных региональных группы дата-центорв, и каждая группа имеет по три зоны доступности). Тестировалось инстансы, развернутые в Instance Store для всех типов, развернутые в EBS для инстансов типа t1.micro, и развернутые в HVM-EBS для инстансов типа m3s и высокопроизводительных инстансов.

Некоторые типы инстансов могут быть запущены не везде – так, высокопроизводительные инстансы не могут быть размещены в регионе US-West, а тип cg доступен только в регионе US-East. Некоторые типы были недоступны в зонах доступности в регионе US-West. Запускались как инстансы «по требованию», так и спотовые – разницы в производительности между этими двумя не обнаружилось, в отличие от экономической эффективности, но об этом поговорим позже. В графиках указаны цены для инстансов «по требованию».

Несколько заметок по технической стороне тестирования:

  • UnixBench был модифицирован, так чтобы он работал на инстансах типов cg1 и cr1 так как оба поддерживают больше 16 ядер/потоков;

  • Не всегда, но иногда Ubuntu показывала лучшие результаты в тестах, чем CentOS. Однако, CentOS остается эталонной ОС так как ее поддерживает большее число инфраструктур сервис-провайдеров. Так, результаты теста для инстанса типа m3.2xlarge, размещенного на HVM EBS AMI и выполняемого в однопоточном режиме UnixBench были на 20% выше на Ubuntu 12.04 чем на CentOS 6.4.


Итоги сравнения результатов по типам инстансов


  • Как m1.small, так и t1.micro скорее всего – лучший выбор по показателю «цена/производительность» (если, конечно же, UnixBench является достаточно адекватным мерилом производительности для ваших задач), но в абсолютном исчислении они не блещут в сравнении с более дорогими вариантами. Так что если вы используете какой-то из них, то принимайте во внимание, что чем больше будет ваш объем финансовых затрат тем больший прирост производительности вы получите.

  • Группа m3 проявила себя в тестах очень хорошо, но! Как выясняется, эта группа инстансов чрезвычайно чувствительна к месту развертывания. В графиках (см. ниже) отражены результаты m3 при развертывании на HVM EBS AMIs. Если же вам придется запускать эти инстансы на обычных EBS AMIs (что вполне возможно, так как HVM EBS доступны не для всех регионов, например в регионе US-West они недоступны), то результаты будут значительно ниже – результаты некоторых тестов уменьшились более чем вполовину. Также, в этих инстансах Ubuntu (может быть и другие дистрибутивы Linux) показывает значительно лучшие результаты чем CentOS. Не помешало бы дополнительное тестирование…

  • При сравнении предложений по цене не превышающей $1/час (цены на вариант «по запросу») выделяются три варианта: m3.2xlarge ($1/час), c1.xlarge ($0.68/час) и m3.xlarge ($0.50/час), их результаты заметно выше чем у всех остальных. Бонусные очки получает c1.xlarge за то что она не требует использования EBS, что устраняет одну из «точек возможного отказа»

  • Самый дешёвый вариант, который довольно неплохо выглядит в тестах – c1.medium ($0.145/час), довольно неплохой сбалансированный вариант. Инстансы которые дают вдвое большую производительность стоят в 4-5 раз дороже, а во многих сценариях результаты c1.medium были вполне сравнимы с более дорогостоящими инстансами

  • Какова необходимость, которая заставила выделить m1.xlarge в отдельное предложение, честно говоря, не ясно. Тип m3.xlarge дороже всего на 2 цента/час чем m1.xlarge (напомним, рассматриваются только цены «по запросу»), при одинаковых или лучших характеристиках и стабильно более высоких результатах тестов

  • Рост производительности в целом пропорционален росту цен. Скажем, cg1.4xlarge стоит в 3.5 раза дороже чем c1.xlarge, но и его результат в многопоточном тесте UnixBench тоже приблизительно в 3.5 лучше чем у c1.xlarge

  • На сайте Amazon есть хорошее руководство по подбору типа инстанса с указанием конкретных случаев применения, которое отлично подойдет для первичного выбора подходящей категории. Настоятельно рекомендуется ознакомиться, даже несмотря на то что и руководство, и тесты дают весьма приблизительную картину

Многие пользователи выбирают тип инстанса по принципу — «Вот этот вроде быстрый и дешевый» или «Деньги — ничто, скорость — все», и для таких случаев даже приблизительные результаты тестов принесут большую пользу, подтолкнув лица, принимающие решения, к переоценке их критериев выбора.

Тестирование AWS: UnixBench (SingleThread)

Тестирование AWS: UnixBench (One Thread per Core)

Тестирование AWS: SysBench-MySQL-Read-Write 4 threads

Тестирование AWS: SysBench-MySQL-Read-Write 64 threads

Обратите внимание, что в обоих графиках SysBench результаты для типов m1.small и t1.micro в буквальном смысле «зашкалили» — на самом деле их показания еще больше, но они обрезаны так как не несут практического смысла.

Сравнение результатов по регионам (AWS)


Чтобы сравнение по регионам было корректным, результаты высокопроизводительных типов инстансов пришлось исключить из общего сравнения (так как они недоступны в регионе US-West). Эти результаты вынесены в отдельный график, где сравнивается производительность этих типов в регионах US-Oregon и US-West. Некоторое количество тестов игнорируется, чтобы число тестов в каждом регионе на графике было одинаковым (и график был сбалансированным), а тесты были равномерно распределены по зонам доступности. Таким образом, основной график, сравнивающий три региона, включает в себя 38 виртуальных машин, а дополнительный график, отображающий результаты тестирования высокопроизводительных инстансов, сравнивает два региона и включает в себя 12 машин.

Тестирование AWS сравнение по регионам: Unix Bench (single thread & one thread pre core)

Тестирование AWS сравнение по регионам: SysBench Mysql (4 threads & 64 threads)

Трудно выбрать какой-то конкретный регион, который был бы однозначно лучше других, большинство результатов в целом схожи. US-East выглядит чуть лучше других, но в целом, кардинальных различий не наблюдается.

Что касается сравнения высокопроизводительных инстансов между регионами US-East и US-Oregon:

Тестирование AWS сравнение по регионам: UnixBench (single thread & one thread per core) US-East & US-Oregon

Тестирование AWS сравнение по регионам: SysBench Mysql (4 threads & 64 threads) US-East & US-Oregon

Как видно на графиках, US-East стабильно показывает более высокие результаты. Добавьте к этому то что это единственный регион в котором доступны чрезвычайно выгодные (для этого типа вычислений) инстансы cg1.4xlarge, и получите еще более убедительное преимущество. Вероятно, этот регион является оптимальным для запуска высокопроизводительных экземпляров.

Также анализ данных от разных регионов опровергает недавние слухи о том, что в регионе US-East оборудование устаревшее. (пруф)

В графиках также присутствует сравнение показателей по зонам доступности, но так как они могут обмениваться информацией и задачами самостоятельно (например, зона доступности US-East-1а в принципе также может задействовать и датацентры, расположенные в зонах US-East-1a US-East-1e), то от графиков толку немного. Разница в производительности между ЗД присутствует. Можно либо оставить все как есть и надеяться на лучшее, либо протестировать все ПО под нагрузкой в разных инстансах и ЗД, и посмотреть что работает лучше. Первый вариант, на самом деле, не так уж и плох – вполне возможно что стоимость достаточно производительного инстанса, даже если мощность взять с запасом, будет меньше чем затраты на полномасштабное тестирование всего на всем. Но опять-таки, все зависит от конкретной ситуации, приложений, длительности размещения и так далее. Разница между ЗД невелика, но она есть.

Отдельно стоит сказать о новых сериях инстансов которые дебютировали на недавней конференции re:Invent. О них мы поговорим в следующей статье.

Оригинал статьи тут: IaaS Performance Benchmarks Part 2: AWS

Комментарии (0)


Добавление комментариев доступно только зарегистрированным пользователям. Используйте свою существующую учетную запись для авторизации. Если у Вас еще нет учетной записи на сайте ее можно создать пройдя несложную процедуру регистрации. Кстати, для входа на сайт, наравне с учетной записью на cloudzone.ru, можно использовать аккаунт из следующих популярных сервисов: Яндекс, Facebook, Google и LinkedIn