Решение распространенных проблем в облаке IaaS на базе гипервизора VMware Часть 2. Низкая производительность

Управление виртуальной и облачной инфраструктурой с помощью VMware vSphere PowerCLI. Часть 2

В прошлом примере мы занимались поддержкой воображаемой телепортационной корпорации PanContinental. Сегодня придется решать новые задачи. Но если ранее мы справились с проблемой буфера обмена виртуальной машины, когда у пользователя не работала функция «копировать/вставить», то сегодняшняя задача будет несколько сложнее.

Один из сотрудников нашей выдуманной компании PanContinental создал заявку с высоким уровнем приоритета, комментируя, что не может оформить вэйпоинт (waypoint) при указании точки назначения для телепортации. Эта операция заканчивается неудачей. Из-за невозможности зарегистрировать вэйпоинт одного клиента тормозится процесс для всех остальных. Возникает очередь из заявок на телепортацию большого количества пользователей. Это, как полагает сотрудник, происходит из-за низкой производительности виртуальной машины, которая в силу загруженности не справляется с обработкой запросов. Наша задача – в короткие сроки решить озвученную проблему.

Методология устранения неисправностей

Методология устранения неисправностей

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

Иллюстрация методологии устранения неисправностей

Иллюстрация методологии устранения неисправностей

Заметка! Помните, что не все правила действенны и применимы к вашей ситуации. Имейте в виду и тот факт, что из целого списка подсистем какая-то одна может стать причиной проблемы. На диаграмме (см. рисунок выше) представлены подсистемы, работоспособность которых необходимо проанализировать.

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

Сбор статистики и анализ производительности

Итак, для начала подключимся к виртуальной машине (ВМ) пользователя, на которой наблюдается проблема. Для этого используем терминальный доступ. Отметим, что на ВМ пользователя уже установлены инструменты, собирающие статистику производительности в реальный момент времени.

Real-time статистика

Real-time статистика

Таким образом, на рабочем столе ВМ отображается информация об имени хоста, IP-адресе, загрузке CPU и оперативной памяти. График отображает общий уровень загрузки (Total) и загрузку на уровне ядра гостевой ОС (Krnl).

Это интересно!  Послеаварийное восстановление и хранение бэкапов в облаке: новые возможности Veeam Cloud Connect

Кроме того, в сценарии используется инструмент SPECjbb – что-то вроде эталонного теста, созданного корпорацией Standard Performance Evaluation (SPEC) для измерения производительности. Чтобы запустить тест, кликаем по ярлыку SPECjbb, расположенному на рабочем столе виртуальной машины. Инструмент позволяет измерить производительность CPU и Memory. Для старта теста нажимаем кнопку Start Benchmark.

Сравнение результатов производительности

Сравнение результатов производительности

Текстовый файл, расположенный ниже, отражает собранную статистику. Результаты, интерпретируемые как количество бизнес-операций в секунду (BOOPS), подсвечиваются желтым цветом. Если закрыть окно SPECjbb или нажать кнопку Stop Benchmark, сбор статистики прекратится. Обратите внимание, что результаты здесь обновляются каждые 10 секунд. Если вы запустили SPECjbb в первый раз или внесли изменения в инфраструктуру, следует подождать выполнения нескольких циклов тестирования. Тогда результаты будут максимально точными и приближенными к реальности. Но поскольку SPECjbb все же создает определенную нагрузку на инфраструктуру, этот инструмент не рекомендуют использовать в производственной среде. Лучше обратить внимание на решение vRealize Operations Manager, созданное для мониторинга производительности в условиях рабочего процесса.

Теперь предлагаем вернуться к показателям SPECjbb. Полученные результаты на рисунке выше свидетельствуют о низкой производительности perf-01. А как мы помним, согласно сценарию, эта ВМ отвечает за обработку запросов телепортации для клиентов компании PanContinental. Повторимся, что в результате низкой производительности возникают проблемы с обработкой запросов, а значит, становится невозможным оказание услуг компании. Наша задача – увеличить производительность виртуальной машины.

Итак, завершаем терминальную сессию и обращаемся к веб-консоли vSphere Web Client. После успешной аутентификации переходим в закладку Home -> Hosts and Clusters.

Консоль управления vSphere Web Client

Консоль управления vSphere Web Client

Подключаемся к vCenter и хосту, где расположена виртуальная машина perf-01a.

Обзор свойств виртуальной машины

Обзор свойств виртуальной машины

К слову сказать, используя vSphere performance charts, вы можете просматривать статистику производительности ВМ в real time, а также собирать статистику по дата-центру, кластеру, пулу ресурсов или ESXi-хостам. Для отображения деталей на уровне отдельно взятой виртуальной машины выбираем perf-01a и переходим в закладку Monitor -> Performance. Здесь можно посмотреть на общую и расширенную картинку производительности (Overview и Advanced). Для большей детализации переходим в раздел Advanced. По умолчанию значения здесь обновляются каждые 20 секунд.

Это интересно!  Особенности VMware Integrated OpenStack 2.0

Настройка дополнительных опций

Настройка дополнительных опций

Здесь можно указать объект производительности, определить временной интервал и тип метрики для каждого объекта. В нашем примере «0» указывает на первый vCPU виртуальной машины, «1» определяет второй vCPU, а «perf-01a» оба vCPU. Обратите внимание, что, если в инфраструктуру вносятся изменения для точного отображения результатов, необходимо подождать 30–60 секунд. Real time статистика и здесь фиксирует проблему с чрезмерной загрузкой CPU.

Возможные варианты решения проблемы

Как и в реальной жизни, решить одну проблему, как правило, можно несколькими способами. В нашем случае проблема с производительностью возникает из-за чрезмерного использования CPU. Дело в том, что помимо ВМ perf-01a на хосте esx-01a (с 2-ядерным CPU) расположена еще одна виртуалка perf-02a. При этом perf-01a использует 2vCPU, а perf-02a – 1vCPU. В сумме это составляет 3vCPU.

Свойства ESX-хоста

Свойства ESX-хоста

Следовательно, процессорная подсистема используется под завязку и на все 100 %. Чтобы убедиться в этом альтернативным способом, воспользуйтесь метрикой % Ready. Если показатель превышает 10 %, значит, проблема точно существует. В нашем примере все понятно и без этой метрики. Переходим к рассмотрению вариантов решения проблемы.

  • Первый вариант: перенести виртуальную машину perf-01a на менее загруженный ESXi-хост. То есть с esx-01 на esx-02a. Этот узел практически не загружен, здесь размещаются две виртуальные машины, использующие незначительное количество процессорных мощностей.
  • Второй вариант: перенести ВМ perf-02a на хост esx-02a и добиться аналогичного результата.
  • Третий вариант: воспользоваться перераспределением вычислительных ресурсов для машины perf-02a. Для этого перейдите в раздел Edit Resource Settings виртуальной машины и установите лимит на потребление CPU.

Изменение ресурсных значений

Изменение ресурсных значений

Используйте Resource Allocation для гарантированного предоставления perf-01a необходимого количества процессорных мощностей.

Подводим итоги

В этом практическом кейсе мы рассмотрели несколько вариантов решения проблемы с производительностью ВМ. Не забывайте использовать методику устранения неисправностей и прорабатывать план дальнейших действий. Примеряя выбранное решение к имеющейся проблеме, обязательно тестируйте конечный результат. Главное – добиться поставленной цели.

Следите за новыми материалами первого блога о корпоративном IaaS. В следующей статье мы поговорим об эксплуатационных проблемах в виртуальном окружении и рассмотрим пути их решения.


1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...