Тестирование производительности и профилирование OpenStack

в 11:32, , рубрики: api, fuel, open source, openstack, rally, Блог компании Mirantis/OpenStack, мирантис, метки: , , , ,

Автор: Борис Павлович

Компания Mirantis с радостью анонсирует предстоящий выход нового инструмента для эталонного тестирования в составе OpenStack – Rally. Данный проект отвечает за развертывание OpenStack в конкретной конфигурации облака, тестирование его корректности, а также измерение различных параметров производительности.

Почему Rally?

OpenStack представляет собой очень сложное и гибкое ПО, состоящее из множества подсистем и компонентов. Поэтому, пытаясь протестировать и понять, как различные внедренные решения и предложенные изменения в OpenStack влияют на поведение и производительность системы в целом, интеграторы и разработчики OpenStack неизбежно сталкиваются с трудностями, связанными с чрезвычайной сложностью OpenStack. Более того, огромное разнообразие возможных облачных конфигураций, в которых OpenStack может быть установлен и использован, еще более усложняет задачу проведения эталонного тестирования.
В действительности едва ли возможно получить значимые результаты при тестировании и сравнении с эталонными показателями только локальных элементов OpenStack. Запуск же конкретных бенчмаркинг-процедур на уже установленной системе OpenStack в целом и использование заданной облачной конфигурации, напротив, принесет намного больше положительных и полезных с практической точки зрения результатов. Как раз для этого и предназначен Rally: данный проект предоставляет сообществу инструмент для эталонного тестирования облака, способный выполнять определенные сложные и повторяемые сценарии сравнения с эталонными показателями на развернутых системах OpenStack.

Компоненты Rally

Rally взаимодействует с OpenStack через OpenStack API. Он автоматически устанавливает и тестирует OpenStack, отправляет отчеты в базу данных, определяет профиль данных и создает отдельную страницу с образом установки. Выполнив все это, Rally завершает установку.

Rally объединяет ряд существующих средств для эталонного тестирования в одном проекте, что делает его гибким к требованиям пользователей и гарантирует воспроизводимость результатов тестов. В состав Rally входят 4 компонента:

— Механизм развертывания (Deploy Engine), отвечающий за обработку и использование образов виртуальных машин (VM) с применением либо DevStack, либо FUEL в зависимости от предпочтений пользователя. Данный механизм может выполнять одно из следующих действий:
-Развертывание ОС на уже имеющихся VM.
-Запуск нескольких VM из образа VM с предустановленными ОС и OpenStack.
-Развертывание нескольких VM, внутри каждой из которых имеется вычислительный узел OpenStack на базе образа VM.

— VM-провайдер (VM Provider), взаимодействующий с интерфейсами конкретных провайдеров облаков для загрузки и уничтожения образов VM.

— Инструмент для эталонного тестирования (Benchmarking Tool), реализующий различные этапы эталонного тестирования:
-Выполняет Tempest-тесты продолжительностью не более 5 минут.
-Выполняет пользовательские сценарии тестирования (с использованием среды тестирования Rally).
-Собирает все результаты и обрабатывает их при помощи системы распределенной трассировки Zipkin.
-Формирует общий отчет о проведенном эталонном тестировании и сохраняет его на машине, где был запущен Rally.

— Оркестратор (Orchestrator) – центральный компонент системы. Он использует Deploy Engine для запуска узлов управления и вычислительных узлов и дистрибутива OpenStack, после чего он вызывает Benchmarking Tool для запуска процесса эталонного тестирования.

Ниже приведена схема функционирования Rally.

image

Для определения того, как работает OpenStack, выполняется профилирование, т.е. определяется, работу скольких пользователей могут обеспечить тысячи серверов. Rally запускает виртуальную машину, делает на ней запрос и останавливает ее, показывая, как установка VM сказалась на скорости обработки запросов и их количестве. Rally отслеживает параметры масштабирования и производительности, помогая вам понять, что замедляет работу вашего облака. Вы можете использовать полученные сведения для устранения причин медленной работы и затем провести итерации с использованием тех же эталонных тестов, чтобы проверить, на самом ли деле внесенные вами изменения улучшили производительность.

В конечном итоге, осуществив установку, пользователи будут знать, сколько пользователей у них будет и что необходимо будет сделать для того, чтобы OpenStack работал.
Более подробную информацию об анонсированном инструменте можно найти на странице Rally в wiki.

Об авторе

Борис является техническим руководителем группы сообщества OpenStack в компании Mirantis. Он координирует реализацию различных проектов OpenStack и отвечает за систему эталонного тестирования OpenStack. Помимо прочего, он просто один из участников OpenStack.

Пожалуйста, ознакомьтесь с презентацией, показанной нами в Гонконге на OpenStack Summit 2013, и, если у вас возникнут вопросы о проектах, задайте их нам здесь или на #openstack-rally on irc.freenode.net. Мы также будем рады видеть вас в нашей команде. Присоединяйтесь!

Оригинал статьи на английском языке

Автор: Mirantis_OpenStack

Источник

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


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