img

Выявление и устранение проблем с производительностью виртуальных машин на ESX/ESXi

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Проблемы с производительностью виртуальной машины на ESX/ESXi могут быть вызваны по различным причинам, например, ограничения в работе CPU, излишний объём памяти, задержкой в работе хранилищ или сети. Если одна или более из ваших виртуальных машин показывает высокое время ответа, то проверьте каждую из возможных причин, чтобы выявить слабое место системы.

Неисправности

  • Сервисы на гостевых виртуальных машинах работают медленно
  • Приложения на гостевых виртуальных машинах отвечают с задержкой
  • Гостевая виртуальная машина работает медленно или не отвечает
Выявление и устранение проблем с производительностью виртуальных машин на ESX/ESXi

Решение

Каждый нижестоящий шаг содержит инструкции и ссылки на соответствующие документы. Шаги выстроены в наиболее удобном порядке для выявления и решения проблемы. Такая последовательность также обеспечивает наименьшую потерю данных.

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

Статья включает в себя 4 основных части:

  1. Ограничения в работе CPU
  2. Излишний объём памяти
  3. Задержка в работе хранилища
  4. Сетевые задержки

Ограничения в работе CPU

Чтобы определить являются ли ограничения в работе CPU причиной низкой производительности:

  1. Введите команду esxtop, чтобы проверить перегружен ли ESXi/ESX server. Изучите load average в первой строке вывода команд. Средняя загрузка на уровне 1.00 означает, что физические процессоры (CPUs) машины с ESXi/ESX Server используются полностью, средняя загрузка 0.5 означает использование лишь половины ресурсов. Средняя загрузка на уровне 2.00 означает, что система перегружена.
  2. Изучите поле %READY, чтобы узнать долю времени, в течении которого виртуальная машина была готова, но не могла быть запланирована для запуска на физическом процессоре. При нормальных условиях эксплуатации это значение должно оставаться в пределах 5%. Если время готовности на виртуальных машинах с низкой производительностью слишком высокое, то необходимо проверить ограничения в работе процессора - убедитесь, что виртуальная машина не ограничена установленным лимитом процессора;

Проверьте не ограничена ли виртуальная машина доступным объёмом ресурсов.

Если средняя загрузка слишком высока и время, в течении которого машина готова к работе, не зависит от ограничений в работе процессора, то следует отрегулировать загрузку CPU хостa. Чтобы отрегулировать загрузку CPU хоста нужно:

  • Увеличить количество физических CPU хоста
  • Или уменьшить количество выделенных хосту виртуальных CPU. Чтобы уменьшить количество выделенных хосту виртуальных CPU нужно уменьшить общее количество CPU, выделенных всем запущенным виртуальным машинам на ESX хосте.
  • Или уменьшить количество запущенных виртуальных машин

Если Вы используете ESX 3.5, проверьте является ли проблемой совместное использование IRQ.

Перегрузка памяти

Чтобы определить является ли причиной низкой производительности перегрузка памяти необходимо:

  1. Ввести команду esxtop и установить перегружена ли память ESXi/ESX server. Изучите MEM overcommit avg в первой строке вывода команд. Это значение отражает соотношение требуемого объёма памяти к объёму доступной памяти, минус 1.
    Пример

    Если виртуальной машине требуется 4 ГБ ОЗУ и хост имеет 4 ГБ ОЗУ, то соотношение равно 1:1. После вычитания 1 (из 1:1) поле MEM overcommit avg выдаст значение 0. Память не перегружена и нет необходимости в дополнительном объёме. Если виртуальной машине требуется 6 ГБ ОЗУ и хост имеет 4 ГБ ОЗУ, то соотношение равно 1.5:1. После вычитания 1 (из 1:1) поле MEM overcommit avg выдаст значение 0. Память перегружена на 50% и необходимо на 50% больше ОЗУ, чем доступно.

    Если память перегружена, то следует отрегулировать количество памяти хоста. Для этого необходимо:

    • Увеличить количество физической ОЗУ хоста
    • Или уменьшить количество памяти, выделяемое виртуальным машинам. Для уменьшения объёма выделенной ОЗУ нужно уменьшить общее количество ОЗУ, выделенной всем виртуальным машинам хоста
    • Или уменьшить общее количество виртуальных машин хоста.
  2. Определить состояние виртуальных машин: ballooning или swapping

    Для определения состояния:

    1. Запустите esxtop
    2. Введите m для памяти
    3. Введите f для полей
    4. Выберите букву J для Memory Ballooning Statistics (MCTL)
    5. Посмотрите на значение MCTLSZ. MCTLSZ (MB) отображает количество физической памяти гостя, переданной balloon driver.
    6. Введите f для поля
    7. Выберите букву для Memory Swap Statistics (SWAP STATS)
    8. Посмотрите на значение SWCUR. SWCUR (MB) отражает текущую загрузку свопа
    9. Для решения этой проблемы убедитесь, что ballooning или swapping не вызваны неправильно заданным объёмом памяти. Если объём памяти задан неверно, то его следует переназначить

Задержки в работе хранилища

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

  1. Уменьшите количество виртуальных машин на LUN.
  2. Поищите похожие записи на Windows гостей: The device, DeviceScsiPort0, did not respond within the timeout period
  3. Используя esxtop найдите высокое время задержки DAVG.
  4. Определите максимальную пропускную способность ввода/вывода с помощью команды iometer.
  5. Сравните результаты iometer, полученные на VM, с результатами физической машины с этим же хранилищем.
  6. Проверьте наличие конфликтов с резервированием SCSI.
  7. Если вы используете iSCSI хранилище и Jumbo фреймы, то следует проверить правильность конфигурации.
  8. При использовании iSCSI хранилища и многоканального iSCSI Software Initiator убедитесь, что всё правильно сконфигурировано.

Если вы обнаружили проблемы, связанные с хранилищем:

  1. Убедитесь в том, что ваша аппаратура и HBA карты сертифицированы для работы с ESX/ESXi.
  2. Проверьте обновления вашего физического сервера.
  3. Проверьте обновления прошивки вашего HBA.
  4. ESX верно определяет режим и политику пути для вашего SATP Storage вашего типа и PSP Path Selection.

Сетвые задержки

Производительность сети тесно связана с производительностью CPU. Поэтому сначала необходимо проверить работу CPU и после этого переходить к поиску проблем в сети. Для определения проблем с производительностью сети:

Проверьте максимальную пропускную способность от виртуальной машины с помощью Iperf.

Замечание: VMware не поддерживает и не рекомендует какую-либо конкретную стороннюю программу.

Во время использования Iperf измените размер окна TCP до 64 K. Это также влияет на производительность. Для изменения размера окна TCP:

На стороне сервера введите:

iperf -s

На стороне клиента введите:

iperf.exe -c sqlsed -P 1 -i 1 -p 5001 -w 64K -f m -t 10 900M
  • Запустите Iperf на машине вне хоста ESXi/ESX. Сравните полученные результаты с ожидаемыми результатами, с учётом физической среды.
  • Запустите Iperf на другой машине вне хоста ESXi/ESX, VLAN и физический свитч должны оставаться прежними. Если производительность в порядке, а проблема появляется только на машине, расположенной в другом месте, то проблему нужно искать в вашей сетевой среде.
  • Запустите Iperf между двумя виртуальными машинами на общем сервере/portgroup/vswitch. Если результат положительный, то можно исключить проблемы с памятью, CPU и хранилищем.

Если вы обнаружили «бутылочное горлышко» вашей сети, то:

  1. Если вы используете iSCSI хранилище и Jumbo фреймы, то следует проверить правильность конфигурации.
  2. Если вы используете Network I/O Control, то необходимо проверить правильность конфигурации общих ресурсов и ограничений для вашего траффика.
  3. Убедитесь в правильности работы трафик шейпинга.
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker