суббота, 25 июля 2009 г.

performance troubleshooting example

Весьма интересное описание опыта траблшутинга производительности ESX - How Heavy is your ESX Load?
хост с 44 ВМ, сначала оказалось что SC очень сильно свопит(решили увеличением ей памяти до максимума, выделением большого свопа и ребутом хоста), затем для большинства ВМ изменили конфиг с 2vCPU на 1vCPU. Это очень вкратце, так что лучше смотреть оригинал.





11 комментариев:

  1. И всё таки - я правильно понимаю, что для подавляющего большинства задач более подходит 1 vCPU? Хорошо, если так, тогда для чего делают больше?
    Например, я тут уже очень давно собраюсь поднять несколько терминальных серверов под ESX, так ли мне нужны 2 и более vCPU на одну VM?

    ОтветитьУдалить
  2. Камрад, вы товарищ опытный, так почему задаете вопросы в дурацкой формулировке?

    У вас терминальный сервер может быть на 5 пользователей, каждый из которых работает с мелкими доками в Word.
    А может на пятьсот пятьдесят пять, каждый из которых ворочает что то монструозное.

    мораль следующая:
    1) Не надо давать ВМ больше одного vCPU, пока вы не убедились что одного ей мало.
    2) Задачи, которым от CPU много не надо - идеальные кандидаты на виртуализацию. По данным VMware, на западе до 95% ВМ на VI одноВиртпроцессорные. Однако, есть и оставшиеся 5%, и у виртуализации так много плюсов, что на ней заводят все более тяжелые задачи.

    Так что это не "для подавляющего большинства задач более подходит 1 vCPU", а "в первую очередь виртуализовать надо то, для чего хватит один vCPU".

    Как то так.

    ОтветитьУдалить
  3. Для подавляющего большинства задач 1 vCPU более чем достаточно. Не стоит забывать, что современные CPU не древние 386, и 1 ядро Xeon 3GHz обладает очень большой вычислительной мощностью.

    ОтветитьУдалить
  4. Упс, виноват.

    На самом деле одна ВМ c MS терминал-сервером уже есть. Пользователей немного - до 20ти, но задачи они запускают довольно жручие для процессора, иногда делают это одновременно, в результате единственный vCPU начинает просаживаться.
    Мечусь между решениями - или поднять ещё пару однопроцессорных ВМ на том же хосте, или добавить vCPU на существующей.

    ОтветитьУдалить
  5. я бы сначала попробовал добавить второй vCPU.
    Сделать это просто, если проблему решит - хорошо, не понравится - откатится и переделать просто.

    ОтветитьУдалить
  6. Eже как пол-года работают несколько виртуальных citrix-ов. Причем каждому отдано 4 vCPU, никаких жалоб на производительность нет. на каждом сервере сидят до 50-60 пользователей.

    ОтветитьУдалить
  7. Тут главная мысль НЕ
    "Никогда не используйте много процессорные ВМ"
    а
    "Используйте дополнительные процессоры в ВМ только если явно надо".

    ОтветитьУдалить
  8. использую 4 vCPU на терминальных серверах по простой причине - чтобы 1 пользователь не просадил весь терминальный сервер очередной мощной выгрузкой в Excel. При 4 vCPU остальые пользователи на таком сервере продолжают работать - в случае 1 VCPU страдают все.

    ОтветитьУдалить
  9. mb78, пробовали сравнивать с 2 vCPU машинами?

    ОтветитьУдалить
  10. Нет :) В настоящее время актуально было "изолировать" пользователей нагружающих систему в рамках одного VCPU. (тяжелые выгрузки из AXAPTA в Excel). Тестов не проводил. С 1 vcpu помирает весь терм. сервер. Чем лучше тестировать ? не работой же приложения - все слишком субъективно... Есть ли "стандартные" тесты для тестирования производительности рекомендуемые для ВМ ?

    ОтветитьУдалить
  11. Думаю, как и с физическими серверами - главный тест это скорость отклика и довольство юзеров.

    ОтветитьУдалить