Сравнение производительности IaaS-экосистем. Часть 1: Методология

Infrastructure As a Service
Joe Masters Emison, эксперт по облачным системам, опубликовал ряд статей, которых рассказывает о своих изысканиях по теме производительности и экономической эффективности использования экземпляров виртуальных машин в трех экосистемах: Amazon Web Services, Google Compute Engine и Windows Azure. В этой и последующих статьях будет представлен вольный перевод его трудов.

Сравнение производительности 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

Производительность облачных инфраструктурОблачные решения, сейчас, используются повсеместно, множеством компаний для решения важных задач. Однако, на просторах Интернета нет полного сравнения предложений от сервис-провайдеров в сегменте IaaS-сервисов. Все существующие отчеты, как правило, содержат информацию о сравнении ограниченного количества конфигураций, при этом тестируются площадки размещения не во всех регионах присуствия дата-центров сервис-провадера, а результаты оказываются порой довольно противоречивыми или отсутствуют вовсе. Например, для очень больших инстансов (c1.xlarge у Amazon) нигде нет ни сравнения производительности, ни результатов таких сравнений, однако такие инстансы могут показывать очень хорошие результаты.

Для получения максимальных результатов, необходимо протестировать производительность практически всех категорий инстансов, предлагаемых более-менее крупными облачными провайдерами услуг класса IaaS. Результаты тестирования будут приведены в следующих статьях, а сейчас – немного о методологии.

Основная цель тестирования – получить полную, четкую картину различий в производительности между инстансами разных сервис-провайдеров которые предоставляются в разных дата-центрах по всему миру. Данные для составления этой картины генерируются с помощью двух наборов утилит: UnixBench и SysBench MySQL.

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

Что же касается SysBench MySQL, то практика показывает, что производительность реляционной БД является одной из самых проблематичных задач для облачных систем. А так как обычно масштабировать реляционную БД (для поддержки нескольких мастер-БД) неудобно и трудно, то есть смысл выбирать для размещения тот облачный сервис и его инстансы, которые держат такую нагрузку лучше других.

Тестирование выполнялось следующим образом: в RightScale (платформа управления облачными системами) создается шаблон ServerTemplate. На базе этого шаблона разворачивается 64-битная CentOS 6, устанавливаются UnixBench и SysBench, «прогоняется» серия тестов, сохраняются результаты в текстовый файл, который отправляется на заданный адрес. По окончании, экземпляр (инстанс вирутальной машины) завершает свою работу и выключается.

Таким образом можно провести тестирование в близком к автоматическому режиме на всех платформах, которые поддерживаются в RightScale. В тех, которые не поддерживаются, можно создать похожие условия.

Выбор ОС был несложным – CentOS легковесна и поддерживается большинством облачных платформ. Установка UnixBench и SysBench не вызвала проблем, они отлично работали в системе без GUI. (Примечание: UnixBench запускался без GUI, поэтому в результатах исключены тесты 2D и 3D-графики).

Тестирование проводилось по четырем сценариям:

  • UnixBench в режиме одного потока;
  • UnixBench в многопоточном режиме;
  • SysBench MySQL тест чтения/записи в 4 потока;
  • SysBench MySQL тест чтения/записи в 64 потока.
Этот набор сценариев позволят оценить соответственно вычислительную мощность, вычислительную мощность в многопоточном режиме, протестировать сервер БД с низкой нагрузкой и сервер БД с высокой нагрузкой. Однако стоит учитывать, что это общие метрики, которые стоит рассматривать исключительно в качестве отправной точки. Каждый может выделить из них результаты, которые наиболее близки к каким-то конкретным сценариям работы. В любом случае тесты унифицированы, и для оценки какой-либо конкретной конфигурации (ПО+платформа) стоит дополнить их методиками специфичными именно для тестируемой конфигурации. Таким образом, результаты тестов являются очень приблизительным инструментом оценки и при выборе платформы для вашего приложения не стоит всецело полагаться только на них.

В следующей статье будут подробно рассмотрены инфраструктурные сервисы в экосистеме Amazon Web Services.

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

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


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