- Серія контенту:
- Цей контент є частиною серії: Поліпшення продуктивності AIX 5L
- Про цю серії статей
- методики настройки
- Створення контрольної точки
- Тестування системи під піковим навантаженням і моніторинг
- Виявлення вузьких місць
- Налаштування для усунення вузьких місць
- Приклад 1. Налаштування параметра інтервалу часу
- повторення
- центральний процесор
- Малюнок 1. Зразок розділів з загальними процесорами і виділеного розділу в середовищі з мікроразбіеніем
- Малюнок 2. Модуль з двома чіпами
- Приклад 2. Перегляд процесорів
- Гипервизор и Віртуальні розділи
- Приклад 3. Інформація, що виводиться lpartstat за допомогою прапора -h
- Висновок
- Ресурси для скачування
Поліпшення продуктивності AIX 5L
Загальні відомості про центральний процесор і методології його налаштування
Серія контенту:
Цей контент є частиною # з серії # статей: Поліпшення продуктивності AIX 5L
https://www.ibm.com/developerworks/ru/views/global/libraryview.jsp?series_title_by=Улучшение+производительности+aix+5l
Слідкуйте за виходом нових статей цієї серії.
Цей контент є частиною серії: Поліпшення продуктивності AIX 5L
Слідкуйте за виходом нових статей цієї серії.
Про цю серії статей
Ці три статті присвячені продуктивності центрального процесора і здійсненні його моніторингу. Перша стаття надає інформацію про те, як ефективно здійснювати моніторинг центрального процесора, розглядає техніки настройки продуктивності, і пояснює, як ці зміни можуть вплинути на продуктивність - збільшити її або зменшити. Якщо в першій статті розглянуті кілька команд, то в другій основний акцент зроблений на практичних аспектах моніторингу центрального процесора і аналізі тенденцій і результатів. Третя стаття сфокусована на проактивному управлінні потоками і інших способах налаштувати центральний процесор на максимальну продуктивність. Також, в цьому циклі статей я розгляну приклади оптимальної настройки і моніторингу продуктивності центрального процесора.
Будь-адміністратор AIX знайомий з деякими основними прийомами настройки продуктивності, наприклад, за допомогою команд vmstat або topas, і вміє ідентифікувати процеси, які завантажують центральний процесор. Але багато адміністраторів ще не знають, що настройка продуктивності центрального процесора - це не тільки запуск декількох команд, але і проактивний моніторинг системи, навіть коли у неї ще немає проблем з продуктивністю. Ця стаття розглядає відпрацьовану на практиці методологію настройки продуктивності центрального процесора з покроковим описом процедур. Крім того, в статті представлені кілька корисних інструментів моніторингу, дається огляд процесора POWER і розглядаються фактори, що впливають на продуктивність.
Налаштування продуктивності в віртуальному середовищі є важким завданням навіть для більшості опитаних системних адміністраторів, тому я розгляну особливі проблеми у віртуальному середовищі, включаючи одночасну багатопоточність (Simultaneous Multi-threading (SMT)), віртуальні процесори, і POWER Hypervisor. Я також розповім окремо про декілька важливих аспектах настройки центрального процесора - налаштування планувальника, балансуванні робочого навантаження на систему і зміні алгоритму планувальника для точного налаштування пріоритету потоків. При пошуку причин недостатньої продуктивності почніть з вивчення статистики використання центрального процесора. Дуже важливо здійснювати тривалий моніторинг продуктивності системи, тому що це дозволяє порівняти параметри роботу системи в завантаженому і нормальному режимі. Оскільки центральний процесор - це один з швидкодіючих компонентів системи, то якщо він завантажений на всі 100%, це вплине на продуктивність всієї системи. Якщо виявиться, що процесор постійно завантажений на всі 100%, то необхідно з'ясувати, який процес створює таке навантаження. У AIX є багато інструментів відстеження і профілювання системи і / або процесів. В системі, яка "гальмує" через процесорів, все процесори завантажені на 100% і черга завдань на виконання занадто довга в порівнянні з числом самих процесорів, і процесори активніше, ніж зазвичай, переключаються між процесами.
методики настройки
У цьому розділі ми ознайомимося з декількома методиками настройки AIX.
Створення контрольної точки
Перш ніж налаштовувати або навіть виконувати моніторинг системи, потрібно створити контрольну точку (baseline). Контрольна точка - це знімок того, які параметри (кількість пам'яті, центральний процесор, жорсткі диски) і яка продуктивність були у системи коли вона функціонувала нормально. Вона необхідна як еталон для порівняння. Це особливо при використанні динамічних логічних розділів Dymanic Logical Partitioning (DLPAR). Для створення правильної контрольної точки треба вибрати інструменти для моніторингу. Існує багато інструментальних засобів, доступних для використання в AIX 5.3, деякі з яких призначені для моніторингу розділів і виртуализированной середовища (наприклад, lparstat і mpstat). Інші інструменти є стандартними першій-ліпшій нагоді UNIX® - наприклад vmstat, sar, і ps. Є утиліти, спеціально розроблені для AIX - topas, procmon, nmon. Після вибору інструментів треба починати збирати статистичні дані і проводити виміри продуктивності - це допоможе визначити прийнятний рівень продуктивності для даної системи. Повторюся, краще почати відстежувати можливі проблеми до того, як про них повідомлять користувачі. Необхідно задокументувати параметри нормально функціонуючої системи. Для точності краще складати "портрет" коректно працюючої системи з урахуванням додатків і сервісів, які на ній зазвичай використовуються. В такому випадку можна включити список цих додатків до угоди про рівень сервісу (Service Legal Agreement (SLA)), яке піде на підпис до замовника.
Тестування системи під піковим навантаженням і моніторинг
Наступний крок в методиці настройки - це тестування і моніторинг під піковим навантаженням. Потрібно вести моніторинг системи при піковому навантаженні і тоді, коли виникають проблеми в її роботі. Це допоможе точно визначити, що відбувається з системою. Де ніж вузьке місце системи - в центральному процесорі або в пам'яті, або в підсистемі введення-виведення? Для більшої впевненості я вважаю за краще використовувати кілька інструментів, наприклад, інтерактивну утиліту vmstat, і потім засіб збору даних типу nmon, щоб відстежувати зміни в даних з плином часу. Без моніторингу неможливо ефективно провести настройку, оскільки він дає точну інформацію про те, що відбувається в системі, в тому числі при пікових навантаженнях. Дуже важливо на цьому етапі встановити політику продуктивності для системи. Адміністратор може визначити параметри, які будуть вимірюватися в процесі моніторингу, проаналізувати тенденції в їх зміні і потім протягом тестування в стресовому режимі.
Виявлення вузьких місць
Мета тестування і моніторингу під піковим навантаженням - це виявлення вузьких місць системи. Неможливо забезпечити правильне лікування без точно поставленого діагнозу. Якщо систему дійсно гальмує центральний процесор, то можна використовувати додаткові інструменти, такі як trace, curt, splat, tprof, і ps, для подальшого визначення процесів, через які виникло це вузьке місце. Можливо також, що у системи недостатньо пам'яті або пропускної здатності введення-виведення, а зовсім не потужності центрального процесора. Усунення одного вузького місця може привести до виникнення проблеми з центральним процесором - наприклад, якщо у процесора не вистачить потужності обробити той потік даних, який піде до нього. Я часто стикався з подібними ситуаціями, і їх не можна розглядати як негативний результат - навпаки, вони в чомусь навіть корисні, оскільки дозволяють виявити всі слабкі місця системи. Моніторинг та налаштування системи - це досить динамічний і не завжди передбачуваний процес, який може зажадати великих зусиль.
Налаштування для усунення вузьких місць
Після того як адміністратор виявив вузьке місце в системі, потрібно так налаштувати параметри, щоб воно зникло. Для проблеми з центральним процесором це зазвичай має на увазі один з чотирьох варіантів:
- Балансування навантаження на систему - запускати процеси в різний час для більш ефективного використання 24-х годинного дня.
- Налаштувати планувальник, використовуючи nice або renice - це допоможе призначити різні пріоритети виконуваних процесів для запобігання захоплення центрального процесора одним процесом.
- Налаштування алгоритму планувальника за допомогою schedo для точних налаштувань пріоритетів - адміністратор може налаштувати різні параметри в AIX, використовуючи schedo. Наприклад, команда schedo може використовуватися для зміни кількості процесорного часу, який виділяється процесу. Значення за замовчуванням для цього інтервалу - один такт системного годинника (10 мілісекунд).
Приклад 1. Налаштування параметра інтервалу часу
# Schedo -a | grep timeslice timeslice = 1 - Якщо потрібно збільшити ресурси, то можна додати більше процесорів, або, у віртуальному середовищі, реконфигурировать логічні розділи (LPAR), а також додати логічні розділи або віртуальні процесори до існуючих логічним розділах. Правильна віртуалізація розподіленої середовища допоможе збільшити коефіцієнт використання фізичних ресурсів, зменшити вузькі місця центрального процесора для певних логічних розділів і зменшити незавантажені ресурси логічних розділів.
Деякі додаткові команди настройки центрального процесора: smtct, bindintcp і bindprocessor.
повторення
Тепер треба знову пройти через кроки процесу налаштування, починаючи з другого розділу Тестування системи під піковим навантаженням і моніторинг . Тільки кілька разів виконавши тести і постійно відстежуючи параметри системи, адміністратор зможе визначити, як вплинула на продуктивність проведена ним настройка. Я знаю деяких системних адміністраторів, які налаштовують тільки певні параметри, виходячи з рекомендацій для певних програм, а потім пускають все на самоплив. Це найгірше, що можна зробити. Те, що працює для однієї середовища, необов'язково буде працювати в інший. Неможливо дізнатися, чи допомогла настройка усунути вузьке місце, якщо немає даних. Повторюся, настройка продуктивності AIX - динамічний процес, для досягнення справжнього успіху треба постійно вести моніторинг системи, що має сенс тільки після того, як була створена контрольна точка і складено SLA. Якщо не визначені параметри для нормальної роботи системи, то як з'ясувати, що в ній виникли проблеми до того, як на них почнуть скаржитися користувачі.
центральний процесор
POWER (скорочено від Power Optimization with Enhanced Risc) - це процесор, який використовується в серверах IBM середнього класу. POWER - це друге покоління RISC-процесора 801 (проект 801). Вперше він був представлений в 1990 для UNIX-систем RS6000®. Випущений 2001 році POWER4 став першим 64-х бітовим багатоядерним процесором. POWER4 використовувався в сервері IBM Regatta і дозволив створювати логічні розділи. Архітектура POWER5, представлена в 2003 р, містить 276 мільйонів транзисторів на кожному процесорі. Він виготовлений за технологією 130 нанометрів, з використанням технології "кремній на діелектрику" (SOI) з додатковими особливостями:
- багатопроцесорний чіп
- великий кеш
- Контролер пам'яті на чипі
- SMT
- Розширені функції управління живленням
- Покращена технологія гипервизора
POWER5 дозволив створювати до 256 логічних розділів (LPAR) і доступний у всій лінійці серверів pSeries® і iSeries ™. Двохядерні процесори з підтримкою технології SMT створюються за допомогою SOI-пристроїв (структура типу "кремній на діелектрику") і мідних плат. SOI використовується для зменшення ємності і збільшення продуктивності транзистора. Фактично POWER5 - це друге покоління двоядерних процесорів IBM з розширеними і новими функціями гнучкого розбиття на логічні розділи. POWER5, встановлений в модулі з двома чіпами (Dual Chip Modules (DCMs)) і декількома чіпами (Multi-Chip Modules (MCMs)) є основним компонентом серверів середнього та старшого класу відповідно.
Нижче представлені деякі з нововведень POWER5:
- Розширена підсистема пам'яті
- Покращена конструкція кеша L1
- Новий алгоритм заміщення сторінок (LRU в порівнянні з FIFO)
- Збільшений кеш L2 1.9 MB, 10-way set associative
- Покращена конструкція кешу L3
- Швидше обробляються непотрапляння в кеш L2
- Зменшення трафіку в фабриці інтерконект
- Вбудований контролер каталогів і пам'яті кешу L3
- Вбудований контролер каталогів L3 зменшує затримки при непотрапляння в L2
- Покращені алгоритми перед- вибірки
- збільшена продуктивність
- SMT
- Апаратна підтримка мікроразделов
Можливо найважливіші поліпшення в архітектурі процесора POWER5 це підтримка мікроразделов (один з видів динамічного розбиття на логічні розділи) і SMT, що також підтримується на рівні операційної системи AIX 5L Version 5.3. Мікрораздели надає можливість розділити один процесор між декількома логічними розділами. Ці розділи називають розділами "із загальним процесором". Звичайно, системи на базі POWER5 продовжують підтримувати логічні розділи з виділеними процесорами, які не ділять один фізичний процесор з іншими розділами.
У середовищі з розділами з загальними процесорами гипервизор POWER розподіляє право на використання процесора з пулу фізичних центральних процесорів між розділами. Сукупність фізичних процесорів називається загальним процесорним пулом. Право на використання процесора розподіляється заново з кожним новим циклом диспетчеризації гипервизора. Протягом кожного циклу диспетчеризації розділ або утримує за собою процесор або поступається право на його використання іншого розділу. Малюнок 1 показує зразок розділів з загальними процесорами і виділеного розділу в середовищі з мікроразделамі.
Малюнок 1. Зразок розділів з загальними процесорами і виділеного розділу в середовищі з мікроразбіеніем
SMT
SMT надає можливість одній фізичній процесору одночасно виконувати команди з кількох апаратних потоків. У AIX 5L Version 5.3 виділені логічні розділи, створені одними і тим же процесором, конфигурируются за замовчуванням як двопоточні. По суті два апаратних потоку можуть одночасно працювати на одному фізичному процесорі. Хоча в деяких ситуаціях активація SMT може негативно вплинути на продуктивність, SMT залишається найкращим вибором, якщо сумарна продуктивність важливіше, ніж швидкість виконання окремого потоку. Завдяки унікальній двоядерній архітектурі POWER5 і підтримки SMT один чіп POWER5 фактично є четирехпоточного мікропроцесором. Процесори, використовуючи SMT, можуть виконувати кілька команд з різних послідовностей протягом одного циклу. малюнок 2 ілюструє відносини між чіпом як таким і SMT.
Малюнок 2. Модуль з двома чіпами
Виконання одночасно декількох потоків на різних процесорах є ефективним використанням IBM SMT. Якщо система працює в режимі SMT, то процесор виконує команди більш, ніж від одного потоку. Реалізована тільки для архітектури POWER5 концепція SMT полягає в тому, що один процес не може в один і той же момент використовувати всі модулі команд процесора. Конструкція POWER5 реалізує двухпоточний SMT для кожного фізичного ядра процесора, тому на одному фізичному ядрі процесора працюють два віртуальних процесора. Найбільші переваги від SMT проявляються при роботі з комерційних додатками, де швидкість разової транзакції менш важлива, ніж їх загальне число. Крім того, SMT збільшує продуктивність при обробці додатків, пов'язаних з великими обсягами даних, наприклад базами даних або Web-сервера. В середньому продуктивність системи при використанні SMT зростає на 30 відсотків.
Як реалізація SMT впливає на планувальника AIX? Оскільки ядро системи може бачити два апаратних потоку як окремі логічні процесори на чотирипроцесорні розділі, планувальник може запланувати виконання процесів на двох апаратних потоках одного ядра процесора, в той час як інша буде простоювати. Оскільки POWER5 підтримує багатопоточність, він може відрізняти один від одного потоки на одному процесорі або різних. Планувальник насправді спочатку присвоює потоку найвищий пріоритет, і тільки потім може знизити пріоритет цього потоку. Коли знадобиться, апаратне забезпечення може динамічно перемикатися між одним потоком і використанням SMT на виділених розділах. Виділені розділи можна зробити вручну на загальних розділах за допомогою команди smtctl. Для того, щоб переглянути процесори, адміністратор може використовувати наступні команди:
Приклад 2. Перегляд процесорів
// To view all processors (logical and physical): # bindprocessor -q The available processors are: 0 1 2 3 // To view the physical processors # bindprocessor -s 0 The available processors are: 0 2 // To view the SMT enables processors. # Bindprocessor -s 1 The available processors are: 1 3
Гипервизор и Віртуальні розділи
Технологія, на Якій базується віртуалізація систем IBM p5 systems, є частина програмно-апаратних ЗАСОБІВ, званого POWER Hypervisor (Гипервизор), Пожалуйста записано у флеш-пам'яті. Ця прошивка Виконує ініціалізацію и конфігурацію процесорів POWER5, такоже як и реалізує віртуалізацію, необхідну для одночасної ПІДТРИМКИ 254 розділів на серверах IBM p5. POWER Hypervisor вікорістовує часть ресурсов процесорів и пам'яті системи. При цьому вплив гипервизора на продуктивність буде незначно при обробці більшості додатків, хоча воно може збільшитися через інтенсивне розбиття на сторінки. Можливості налаштування гипервизора практично повністю відсутні. У попередніх версіях слабким місцем було обмежене число віртуальних процесорів при необмеженій кількості розбиття. Це відбувалося через накладних витрат при використанні віртуальних процесорів. Починаючи з AIX 5.4 ML3, AIX представляє нову можливість - згортання (fold) віртуального процесора. Ця можливість дозволяє простойний процесорам входити в сплячий режим і активуватися тільки тоді, коли потрібно впоратися із збільшеним навантаженням. Права на використання цих віртуальних процесорів у міру необхідності перерозподіляються на клієнтські розділи в загальному процессорном пулі. Параметр vpm_xvcpus активований за замовчуванням, а змінити його значення можна за допомогою schedo.
У середовищі розділів з загальними процесорами мікрораздел процесора буде завжди простоювати протягом слота часу. Коли віртуальний процесор або SMT-потік простоює, він в змозі запустити цикл Гіпервізор, і потім Гипервизор може перерозподілити невикористовувані цикли процесора на іншу роботу. Щоб максимально підвищити коефіцієнт використання центрального процесора на рівні потоку процесора (для SMT-середовища), архітектура POWER5 реалізує регістр нового типу - він називається Регістр Використання Ресурсів Процесора (Processor Utilization Resource Register, в подальшому PURR). У кожного потоку є свій власний PURR. Одиниці виміру ті ж, що у регістра часу time base, а сума PURR-значень для обох потоків дорівнює значенню регістра часу. Традиційні методи вимірювання коефіцієнта використання процесора погано працюють в середовищах SMT і SPLAR, тому регістри PURR надають більш точну інформацію про використання процесора.
Через SMT, мікроразделов і можливості динамічної зміни деяких параметрів з'явилася необхідність внести зміни в деякі зі старих інструментів. Якщо SMT використовується в середовищі з мікроразделамі, то команди vmstat, iostat, і sar будуть автоматично використовуватися з даними регістра PURR. У AIX 5L Version 5.3 команда lparstat відображає статистичні дані про багатьох виклики POWER Hypervisor. Прапор -h додає статистику POWER Hypervisor до інформації, що виводиться за замовчуванням командою lparstat (див приклад 3 ).
Приклад 3. Інформація, що виводиться lpartstat за допомогою прапора -h
# Lparstat -h 1 5 System configuration: type = Dedicated mode = Capped smt = On lcpu = 4 mem = 3920% user% sys% wait% idle% hypv hcalls ----- ---- ----- - ---- ----- ------ 0.0 0.7 0.0 99.3 44.4 5933918 0.4 0.3 0.0 99.3 44.9 5898086 0.0 0.1 0.0 99.9 45.1 5930473 0.0 0.1 0.0 99.9 44.6 5931287 0.0 0.1 0.0 99.9 44.6 5931274 #
Висновок
Налаштування продуктивності - це одна з найбільш складних завдань системного адміністрування. Для настройки системи необхідно розібратися в методології настройки продуктивності, яка складається в створення контрольної точки конкретної системи, здійснення її моніторингу та виконання ефективного тестування при пікових навантаженнях. Сервери System p ™ мають нові потужні функції, які допомагають налаштувати центральні процесори POWER5 під управлінням операційної системи AIX 5.3. Я розглянув деякі з можливостей віртуалізації POWER5, включаючи мікрораздели і гипервизор (Hypervisor). Багато команд були вдосконалено для надання функцій віртуалізації і гипервизора в архітектурі POWER5. Перша стаття цього циклу також розглядає кілька команд і утиліт для моніторингу та налаштування продуктивності. У наступних статтях цього циклу я розгляну в деталях утиліти, які використовуються для виявлення вузьких місць в системі та налаштування ваших серверів.
Ресурси для скачування
Схожі тими
- Monitoring your CPU, Part 1 (EN): ознайомтеся з оригіналом статті.
- Прочитайте книги з серії IBM Redbooks: (EN)
- Test 234: AIX 5L Performance and Systems Tuning : Інформація про тести для настройки продуктивності AIX 5L і налаштування системи. (EN)
- " Power to the People (EN) "(EN) (developerWorks, травень 2004): нарис історії розробки мікросхем IBM.
- " Processor Affinity on AIX "(EN) (developerWorks, листопад 2006): налаштування параметрів Process Affinity для зв'язування або розривання зв'язків потоків допоможе знайти першопричину зависання або проблеми взаимоблокировки. У статті описується, як за допомогою Process Affinity змусити процес працювати тільки на конкретному центральному процесорі. (EN)
- " CPU Monitoring and Tuning "(EN) (березень, 2002): прочитайте цю статтю щоб дізнатися, як стандартні інструменти AIX допомагають визначити вузькі місця центрального процесора. (EN)
- " AIX 5L Version 5.3: What's in it for you? "(EN) (developerWorks, червень 2005): дізнайтеся про переваги операційної системи AIX 5L v.5.3.
- Operating System and Device Management (EN): цей документ від IBM надає користувачам і системним адміністраторам повну інформацію для вибору опцій, наприклад, для резервного копіювання даних або відновлення системи, управління фізичними дисками і логічними розділами, вибору розміру віртуальної сторінки. (EN)
- Simultaneous Multi-Threading : В IBM infocenter дається детальна інформація про SMT.
- Ознайомтеся з іншими статтями і навчальними курсами, написаними Кеном Мілберг (Ken Milberg) :( EN)
- Розділи бібліотеки інформації по AIX і UNIX: (EN)
- Future Tech : Відвідайте сайт компанії Future Tech, щоб дізнатися про її останніх пропозиціях. (EN)
Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів
Jsp?Де ніж вузьке місце системи - в центральному процесорі або в пам'яті, або в підсистемі введення-виведення?
Як реалізація SMT впливає на планувальника AIX?
What's in it for you?