У меня есть коробка VMWare ESxi, оперативная память 22 ГБ, двухъядерный четырехъядерный процессор Xeon, 2 диска Sas + контроллер кэширования записи рейда и т. Д.
В любом случае, на нем запущено около 30 небольших виртуальных машин XP, и у них начинается очень медленная загрузка и другие проблемы с производительностью. Я ДУМАЮ, что это ввод-вывод, но, глядя на графики, не слишком уверен, что искать. Приветствуются любые идеи о том, что искать. Вот данные, которые у меня есть:
(Я чувствую, что мой IO высокий, но не уверен, с чем его жать)
30 виртуальных машин, обслуживаемых всего двумя шпинделями (дисками), вероятно, столкнутся с узкими местами ввода-вывода, даже если эти виртуальные машины не особенно интенсивны ввода-вывода (случайные или последовательные). Вы видите 30 отдельных одновременных запросов на чтение, происходящих в широко разделенных областях дисков. Много-много времени потрачено впустую на поиски одного места.
Я бы рекомендовал настроить второй массив дисков, если этот вариант вам легко доступен (запасные слоты для дисков или запасной внешний корпус), и перенести на него свои виртуальные машины. 4-6 дисков мин. Еще одним улучшением будет больший кеш чтения / записи, если вы работаете только на 128 или 256 чипах.
Еще одно место для проверки - это выделение виртуальных ЦП, как упоминал Зайфер: назначение слишком большого количества виртуальных ЦП каждой виртуальной машине (что противоречит интуиции) может замедлить работу всех виртуальных машин (каждая виртуальная машина должна ждать свободного ядра для каждого из своих виртуальных ЦП, прежде чем он может получить время ЦП, поэтому ВМ 4vCPU может получить меньше циклов, чем ВМ 2vCPU)
Изменить: подумав об этом немного подробнее, есть также некоторые проблемы с блокировкой, с которыми вы можете столкнуться, имея так много виртуальных машин на одном LUN. Вы можете столкнуться с блокировками хранилища данных во время различных операций виртуальной машины, возможно, при включении / приостановке и т. Д. Они начнут накапливаться довольно быстро, поэтому это может быть вызвано медленной загрузкой и т. Д. Вы можете обойти это, настроив отдельные хранилища данных в пределах одного и того же объема дискового пространства (измените размер текущего раздела до половины, затем создайте новый раздел в пустом пространстве. Распределите виртуальные машины равномерно между хранилищами данных). Около 15 Vms на хранилище данных - хороший максимум.
Вы хотите посмотреть на esxtop и прочитать руководство В частности, разделы 4.2.2 Статистика задержки и 4.2.3 Статистика очереди.
Вы можете протестировать свое хранилище esx (запустить iotop сразу на нескольких виртуальных машинах), чтобы увидеть, какие скорости чтения / записи диска дают вам эти графики. Вы действительно можете сравнить свое хранилище только с самим собой. Смотрите esxtop одновременно, чтобы увидеть, как меняются DAVG и QUED.
Я не удивлен, что 30 виртуальных машин на двух дисках становятся медленными.
Что касается SATA, SAS и SSD, то в основном это их порядок скорости и стоимости. Так что, если у вас есть деньги и вам нужна скорость, переходите на SAS или даже SSD. Но вы также можете сначала взглянуть на raid 10 дисков SATA.