Оптимизация производительности в vSphere: решение основных проблем с CPU (часть 2)

Оптимизация производительности в vSphere  – решение основных проблем с CPU (часть 2)

В прошлой статье мы рассмотрели основные проблемы, связанные с производительностью процессора в vSphere, изучили особенности загрузки vCPU, запустили скрипты и сравнили показатели счетчиков. Сегодня продолжим знакомиться с особенностями мониторинга vCPU, а также рассмотрим возможности улучшения производительности.

Мониторинг показателей процессора

Помните, мы рассматривали один из важнейших показателей Ready Time, значение которого считается нормальным, когда оно не превышает 10 %, а если наблюдается рост – велика вероятность столкнуться со сбоями и зависанием гостевой операционной системы.

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

Рисунок 1. Сравнение показателей производительности

Обратимся к виртуальной машине PERF-WORKER-01A, с которой работали ранее. Как видно на рисунке 1, значение Ready Time резко уменьшается, а показатель Usage, наоборот, увеличивается.

Улучшаем производительность

В прошлом материале мы выполняли редактирование параметров виртуальной машины. Аналогичное действие выполним и здесь: нас интересует виртуальная машина PERF-WORKER-01B.

Редактирование параметров виртуальной машины

Рисунок 2. Редактирование параметров виртуальной машины

Добавление дополнительного виртуального процессора позволит увеличить производительность. Для этого в панели управления vSphere кликаем по PERF-WORKER-01B, переходим в Actions, далее к опции Edit Settings. Как видно на рисунке, в закладке Virtual Hardware существует возможность добавления дополнительного количества процессорных ресурсов. Увеличим количество vCPU до двух и нажмем ОК для сохранения изменений.

Увеличение количества vCPU

Рисунок 3. Увеличение количества vCPU

Дальше выполним мониторинг производительности виртуальной машины PERF-WORKER-01B. Для этого воспользуемся знакомой последовательностью действий: выберем виртуальную машину, зайдем в закладку Monitor –> Performance –> в поле View укажем CPU.

Мониторинг производительности vCPU

Рисунок 4. Мониторинг производительности vCPU

Обратите внимание, что виртуальная машина использует оба виртуальных процессора (vCPU). В нашем примере ОС виртуальной машины поддерживает функциональность CPUhotadd, поскольку эта «фича» была включена на уровне самой виртуалки.

Отметим, что после добавления дополнительного виртуального процессора производительность виртуальной машины PERF-WORKER-01B начала увеличиваться. В этом можно убедиться, сравнив показатели производительности на рисунке 5. Слева вы видите виртуалку без дополнительного vCPU, справа она же работает, используя дополнительный процессор.

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

Рисунок 5. Сравнение показателей производительности

Подобное увеличение производительности может наблюдаться не всегда. В случае если хост, на котором располагается виртуальная машина (ESX-01a), имеет только два физических процессора, добавление дополнительных виртуальных CPU может привести к перерасходу ресурсов, увеличению показателя %READY, а также снижению производительности. На что еще стоит обратить внимание, задаваясь вопросом улучшения производительности? Следует убедиться, что ОС и приложения (в случае добавления дополнительных процессорных ресурсов) умеют работать в многопоточном режиме.

Настройка виртуальных машин с большим количеством виртуальных CPU, чем это в действительности требуется для рабочей нагрузки, может привести к увеличению использования ресурсов, потенциально влияющих на производительность сильно загруженных систем. И даже если гостевая ОС не использует все выделенные под нее виртуальные процессоры, чрезмерно настроенная с точки зрения ресурсов виртуальная машина будет расходовать ресурсы хоста на физическом уровне. Ниже несколько примеров:

  • Неиспользуемые vCPU по-прежнему порождают прерывания (interrupts) в некоторых гостевых операционных системах.
  • Большинство гостевых операционных систем во время своего простоя находятся в состоянии холостого цикла, выполняя зачастую инструкции HLT или MWAIT. Некоторые более старые ОС в состоянии холостого цикла (включая Widows 2000, Solaris 8 и 9, MS-DOS) используют механизм busy-waiting. Все это приводит к потреблению ресурсов, которые могли быть доступны для других задач.

Заключение

Мы рассмотрели особенности мониторинга показателей vCPU и выяснили, как увеличение количества виртуальных процессоров влияет на производительность. Следите за новыми материалами нашего блога о корпоративном IaaS, в них мы продолжим знакомить вас с особенностями решений VMware.

Поделиться в социальных сетях