понедельник, 2 апреля 2012 г.

Сколько вешать в мегабайтах или VIOS Advisor tool

Зачастую вопрос сайзинга VIOS весьма затруднителен. Ну как же: я доверил виосу, нет, даже двум, обеспечивать мои LPAR'ы дисками и сетью, но как заранее узнать сколько для этого потребуется процессоров и памяти, какие процессоры брать - Dedicated или из Shared pool'а и какой вес задать в случае режима Shared+Uncapped.

Как обычно ответа нет. Ну вернее точного ответа нет. Есть некие формулки по которым можно прикинуть сколько нужно процессоров и памяти для обслуживания виртуального SCSI и SEA и даже с примерами рассчета. Вы можете найти их вот здесь, на инфоцентре по ключевой фразе "planning for the Virtual I/O Server".
Если в кратце, то там дают вот такую табличку.

А потом говорят: Вот, предположим, 5 ваших LPAR'ов хотят виртуальные scsi диски и чтоб по 2000 восьмикилобайтных iops'ов каждый - тогда вам надо 47 000 * 2000 * 5 / 1 650 000 000 = 0.29 ProcessingUnit'ов или PrU. И это для Power5 1.65 GHz. Теперь лихо в знаменателе заменяем 1.65GHz на 4.2GHz (ну мол код то тот же и тактов надо столько же, но у Power6 или 7 тактов в секунду случается больше) и получаем цифру 0.1 PowerШесых PrU.

Для Shared Ethernet Adapter'а там дается схожая схема. Применяем и ее, суммируем полученные данные, накидываем еще немного процессоров (сколько не жалко, чтобы получилось не страшно) и вот он, вот ОН САЙЗИНГ нашей мечты! Допустим получилось 0.7 PrU PowerСедьмого. Некоторые скажут - ну так и отдайте один целый Dedicated процессор!
Почему-то мне больше симпатична мысль сделать VIOS в shared pool'е в режиме Uncapped  с весом, большим чем у других, особенно у тех LPAR'ов которых он обслуживает (ну чтоб он успевал обслужить их, а не они его успевали перегрузить).

С памятью все значительно проще. Вам просто хватит 1GB. И это даже почти не шутка. Вообще, если верить текущей рекомендации, то нужно 3.7 - 4GB Сюда, по всей вероятности заложены возможные нагрузки на VIOS, если он используется для Active Memory Sharing и Live Partition Mobility. И если второе у вас еще и может быть, то в наличии первого я сильно сомневаюсь. В любом случае начать есть с чего.

Именно начать, так как полученные нами величины, это только способ не брать числа с потолка. Дальше мы конечно будем наблюдать на VIOS'е за утилизацией процессоров и за занятой памятью, за очередями к настоящим дискам и за производительностью SEA.
И добавлять... добавлять процессоры и память по мере необходимости.

Вот тут то к нам и приходит интересное средство для... скажем так - постсайзинга. Разработано Nigel'ом Griffiths'ом и называется VIOS Advisor Tool.
Инструмент собирает на работающем VIOS'е метрики утилизации, размеры очередей и т.п., и на основе собранных данных выносит некоторые рекомендации.
Итак, не будем тянуть. От нас требуется следущее:

1. Качаем vios_advisor.zip (Windows, MacOS, Linux...AIX - куда хотите! лишь бы был браузер) и распаковываем его
2. Находим в распакованном файл vios_advisor и копируем в VIOS. Например, так:
scp <folder_with_advisor>/vios_advisor   padmin@<vios_ip>:/home/padmin
3. Идем на VIOS и переходим в root'а командой oem_setup_env
4. Убедившись, что есть права на исполнение запускаем vios_advisor:

# ./vios_advisor 30&

где 30 - это время сбора данных в минутах.
можно запускать на время от 5 до 1440 (24 часа) минут. Рекомендуют интервал в 30.
Программа абсолютно молчалива и после себя оставляет только файлик vios_advisor.xml. Вот его-то мы и тащим обратно на тот хост, где распаковывали vios_advisor.zip, в тот же каталог. Если там уже есть файл с таким именем, то просто заменяем его. Дело за малым:

5. Открываем файл vios_advisor.xml в браузере и видим



...и видим кликабельные таблички с некоторыми измеренными и рекомендуемыми параметрами для памяти, процессоров, адаптеров и дисков. По кликам выдаются советы и детальное описание. Примечательно, что даже названия конкретных дисков, на которых наблюдались очереди выдаются.


Приведу еще пару скринов





По-моему, мило =)

Очевидно, многие рекомендации инструмент выдает не на основе измерений, а исходя из некоего best practice. Например, памяти в 3.7GB для этого конкретного VIOS'а явно многовато. Тем не менее НЕ воспользоваться vios_advisor просто как-то странно и неправильно - все очень просто и понятно, а уж делать что-то потом с VIOS'ом или нет, дело ваше.

Кстати, вот тут говорят, что оверхеда от программки копейки:


Попробуйте на своих VIOS'ах, и если не трудно отпишитесь о результатах. Напомню, что анонимные коментарии оставлять можно - регистрация не нужна.
Если что, я не виноват =)

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

  1. Надо бы научиться делать cut'ы

    ОтветитьУдалить
  2. До советника на VIOS у нас всё руки не доходят, т.к. LPAR c основной базой виртуализацией сетей и ввода/вывода меньше пользуется. А вот с advisor по LPAR мы уже несколько итераций с разработчиками прошли, в нём были баги, но теперь вроде ничего работает:
    https://www.ibm.com/developerworks/wikis/display/WikiPtype/PowerVM+Virtualization+performance+advisor

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
    2. пример 30-минутного запуска на одном из наших LPAR:
      https://docs.google.com/open?id=0Bwh0_DHOpBvYMkRXUDR0TE5tVkk

      Удалить
    3. Арсений, спасибо за отчет! Да, пробовал и этот advisor - он тогда действительно бажный был. Тот, что по VIOS'у в прикладном смысле мне показался более интересным.

      Удалить
  3. Пооффтоплю немного. Мы запустились Power в боевом режиме 07.07, теперь это единая система для всех 6 дорог Украины. Т.к. нагрузочное тестирование разработчики не придумали как провести, мы решили воспользоваться триальными Capacity on Demand ядрами, вдруг не потянем на 16 имеющихся. Разработчики реально оценили свои способности что за месяц триального CoD оптимизировать не успеют, мы попросили у IBM 3 месяца триального. Дали пока ключ на 1, когда закончится обещают дать второй.
    Так это я всё к чему, оказывается идущий с машиной триальный CoD можно брать только одним куском на 30 дней. В отличии от коммерческого, который можно включать/выключать и таким образом растягивать на несколько проблемных моментов.

    П.С. CoD ядра ещё ни разу с момента запуска в работу нам не понадобились, в рабочее время системе хватает 8 ядер, ночью 4, в час-пик 12.

    ОтветитьУдалить
    Ответы
    1. Да, триал работает только непрерывно. Но он приостанавливается, если выключить сервер кажется. После включения снова вычитает дни. А еще есть два триала: один на все ресурсы, а другой на часть (что-то вроде 1 ядро и 4 гига памяти). И если первый можно использовать только один раз за всю жизнь машины, то второй ресетится при покупке по CUoD чего угодно. То есть поюзали 30 дней 1 ядро и 4 гига памяти, потом купили 1 ядро - теперь снова можно 30 дней поюзать 1 ядро и 4 гига памяти.

      Удалить
  4. Айбиэмеры опять перековыряли свой сайт. Теперь адвайзер живет по адресу https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/VIOS%20Advisor

    Антоха, поправь ссылочки.

    ЗЫ: Скачать с их сайта не дает - 404.

    ОтветитьУдалить
    Ответы
    1. О, скачать таки можно, нажав внизу закладочку Attachments :)

      Удалить