Symantec i3: принципи управління продуктивністю прикладних систем, Комерція, Різне, статті

I. Призначення i3

Symantec i3 – Комплексне рішення, що складається з набору функціональних компонент, призначений для інструментальної підтримки процесів управління продуктивністю прикладних систем на етапах розробки та експлуатації.

Технологічний принцип роботи i3 простий – це автоматична реєстрація максимально можливого обсягу даних, так чи інакше пов’язаних з продуктивністю прикладної системи, зі збереженням протягом тривалих інтервалів часу, і подання отриманих параметрів продуктивності у формі, найбільш зручною для подальшого аналізу і діагностики.

Symantec i3 багато в чому є унікальним рішенням, проте основний зміст і глибина реалізованого в ньому підходу стають зрозумілими тільки після знайомства з базовими функціональними і організаційними принципами, закладеними в основу його роботи.

Об’єкт контролю та управління – багаторівневі прикладні системи. Маються на увазі системи, що здійснюють наскрізне виконання транзакцій, що включають бази даних (такі, як Oracle і MS SQL), сервери додатків (у тому числі на базі технологій J2EE і. NET), поширені WEB-сервери та ін Існують спеціально сформовані комплексні рішення i3 для багаторівневих додатків – Таких, як SAP, Oracle EBS та деяких інших.

Особлива цінність i3 полягає в умінні ефективно працювати саме з багаторівневими додатками і швидко ідентифікувати проблемні рівні з подальшою концентрацією зусиль на конкретному модулі об’єктної системи. Однак застосування i3 буде мати дуже високу ефективність і при управлінні продуктивністю окремих компонент, особливо якщо мова йде про СУБД Oracle, MS SQL, Sybase ASE, DB2 UDB, або при частковим охопленні комплексних систем.

Набагато більше, ніж моніторинг. Часто основну функціональність i3 позначають словом “моніторинг”, що є джерелом плутанини. Справа в тому, що на практиці поняття “моніторинг” в уявленні багатьох фахівців і керівників виявилося практично синонімом функціональності таких систем, як HP OpenView або IBM Tivoly. Насправді існуюча область перетину завдань i3 з областю застосування подібних систем не є головною ланкою в тій ланцюга функцій і методик, яка утворює поняття “Управління продуктивністю”.

Ілюстрацією цього є, наприклад, той факт, в одній з найбільших корпорацій США HP OpenView використовується для комплексного оперативного моніторингу, а i3 – для аналізу питань продуктивності прикладної системи. Її ІТ – керівники вважають, що це абсолютно різні завдання, призначивши для їх вирішення окремі групи фахівців.

Центральна задача i3 – швидка діагностика. Причому обидва слова: і “швидка”, і “діагностика”, мають зміст, що вимагає пояснень.

Швидкість увазі можливість сфокусуватися на головній проблемі за час, що обчислюється хвилинами, за допомогою декількох покрокових деталізацій, які виконуються простими перемиканнями екранів. Це замість декількох днів або навіть тижнів, які часто потрібні групі фахівців різних напрямів, щоб знайти реальну причину проблем з ресурсами.

“Діагностика”, як певне поняття, Охоплює багато смислових аспектів. Проте в даному контексті – це обслуговування процесу відтворення цілісної картини поведінки прикладної системи, що пояснює відбуваються в ній внутрішні явища. Причому мова йде головним чином про статистичні параметри цієї картини, що дозволяють виявити головні причини нераціонального витрачання ресурсів і сконцентруватися на їх усунення.

Незважаючи на те, що саме діагностика стоїть у центрі функціональних можливостей i3, це рішення також містить ефективні засоби повідомлень, які, з одного боку, сповіщають про виниклі чи потенційних проблемах, а з іншого – реалізують “верхній шар” багаторівневих діагностичних засобів.


II. Методологія i3: діагностика в проекції на минуле і майбутнє

Підходи, що формулюються в методології управління продуктивністю, Розробленої Symantec, і підтримувані інструментарієм i3, включають фокусування діагностики на різні точки історичної перспективи.

Діагностика може бути реактивної (Аналіз подій, що відбулися), попереджувальної (Індикація і виявлення причин наростаючих потенційних проблем, дія “на фронтальному ділянці” насувається хвилі негативних явищ) і профілактичної (Коли негативні тенденції виявляються задовго до прояву реальних проблем і діагностуються їх причини).

Одним з видів діагностики, сфокусованої на майбутнє, є “Capacity Planning“(Термін, що позначає планування ресурсів, задіяних прикладної системою). Йдеться про автоматично виконується системою i3 прогнозуванні ресурсів, споживаних системою об’єктів, або про надання великої інформації, яка може бути використана для подібних прогнозів. Цей вид профілактичної діагностики має самостійне значення, зокрема, оскільки він пов’язаний з плануванням і обгрунтуванням інвестицій, що виділяються на розвиток системи.

Система i3 не просто дозволяє будувати пасивні прогнози, пророкуючи, як буде змінюватися навантаження з плином часу, але здатна активно впливати на ситуацію, оскільки виконується з її допомогою аналіз поточного навантаження і наявних тенденцій дозволяє формувати рекомендації з підвищення продуктивності системи та її розвитку з істотною економією капітальних витрат.

Досить сказати, що більш ніж у половині прикладів використання i3 на підприємствах США, з якими нас познайомили співробітники одного з Північно-Американських офісів Symantec, Основний ефект був отриманий за рахунок відмови від дорогого підвищення потужності комп’ютерного обладнання. Тобто виявлення точних причин проблем з продуктивністю прикладних систем дозволяло усунути їх “малою кров’ю”, а кошти, зекономлені на придбання техніки “high end” (а також пов’язаних з ними додаткових ліцензій на самі прикладні системи, СУБД, інші системні компоненти та їх підтримку) багаторазово покривали витрати на придбання або оренду засобів i3.


III. Діагностика засобами i3 і вироблення рекомендацій

Незалежно від тимчасової проекції діагностики, її змістовної компонентою є отримання даних (числових, описових, логічних, тобто виявляють взаємозв’язок явищ тощо), які можуть бути використані при формуванні набору рекомендацій з подолання критичної ситуації – реальної чи потенційної.

Набір понять, щодо яких формулюються рекомендації, може бути розбитий на два класи: джерела навантаження та спожиті ресурси. Розбиття багато в чому умовний, але воно допомагає структурувати можливі рекомендації, і, відповідно, побудувати шаблонний підхід до їх формулювання.

Джерела навантаження – Це якась ієрархія об’єктів, що має також перехресні взаємозв’язку, що включає користувачів, географічно чи структурно відокремлені підрозділи організації, завдання, пакети, SQL запити й інші складові об’єктної системи, споживають її ресурси.

Оскільки мова тут йде про управління продуктивністю, тобто про параметри, що виражають в обсязі роботи за одиницю часу, то ресурсом, Що споживаються джерелами навантаження, є час. При цьому час виконання сукупності робіт система i3 представляє в надзвичайно структурованому вигляді. З одного боку, загальний час об’єктної системи ділиться на частки, що співвідносяться з джерелами навантаження, згаданими вище, в тому числі з об’єктами, такими, як таблиці або файли. З іншого боку, кожна така частка представлена ​​у вигляді сукупності складових: тимчасових витрат процесорів, введення-виведення, витрат на всілякі очікування, блокування, і т.п.

Управління продуктивністю, таким чином, розпадається на управління джерелами навантаження і керування ресурсами.

Управління джерелами навантаження включає в себе управління користувачами і завданнями – в тому числі адміністративне. Наприклад, можна заборонити (певним користувачам) запускати ресурсомісткі завдання в години пікових навантажень. Таке управління може включати рекомендацію оптимізувати завдання (текст програми), SQL запит, перебудувати структуру бази або ще якимось чином скоротити споживання ресурсів.

Управління ресурсами включає в себе управління процесорної потужністю (рекомендація збільшити число процесорів або їх потужність), швидкодією дискової підсистеми, пам’яттю (рекомендація збільшити обсяг пам’яті, тим самим, наприклад, розширивши можливості кешування), швидкодією мережевих засобів.

Забезпечуване системою i3 надання інформації про всі джерелах навантаження з розподілом за рівнем споживання загального часу об’єктної системи, з детальною інформацією про його структуру, дозволяє вибирати найбільш ефективну стратегію подолання проблем, засновану на збалансованому управлінні джерелами навантаження і ресурсами.

Так, наприклад, аналітик, відповідальний за управління продуктивністю, отримавши за допомогою i3 дані про те, що основною причиною уповільнення виконання транзакцій є надмірні витрати на введення-виведення в найбільш ресурсномістких запитах до бази даних, може сформулювати спектр рекомендацій, виконання яких має різні рівні вартості та ефективності:

Джерела навантаження


Ресурси


Наявність даних про можливі виграші в кожному конкретному випадку і співвіднесення їх рівнями необхідних витрат дозволяє керівництву ІТ прийняти найбільш ефективне рішення, що враховує вартість, необхідні трудовитрати для реалізації, перспективність і інші параметри кожного варіанта рішення.

Крім надання даних для вироблення рекомендацій, система i3 сама формує прямі рекомендації, Які автоматично будуються на основі наявної в ній бази знань про особливості конкретних системних засобів. Так, наприклад, модуль Indepth for Oracle системи i3 може автоматично формувати великі рекомендації щодо оптимізації баз даних Oracle.


IV. Ресурсні обчислення (“utility computing”) і діагностика

Ідея ресурсної моделі має на увазі, що управляти ІТ-службами можна на основі прозорих методик, аналогічних тим, які використовуються телефонними, комунальними та іншими службами. При цьому відносини замовників з виконавцями також є прозорими і комерційно певними: конкретному обсягу і рівня якості послуг відповідає обгрунтований рівень витрат.

Служба ІТ при цьому виступає в якості постачальника певних послуг, а рівень якості обслуговування замовників (клієнтів) регламентується відповідним Угодою про рівень обслуговування (Service Level Agreement, SLA).

Властивістю i3, яке може бути використане для розвитку ресурсної моделі, є можливість здійснення контролю та ефективної діагностики відхилень продуктивності. Це дозволяє позиціонувати i3 не тільки в якості пасивного реєстратора параметрів SLA, але і в якості активного інструменту, що дозволяє підвищувати в цілому рівень доступності та інші функціональні характеристики прикладних систем. Послідовне впровадження ресурсної моделі вимагає наявності методик та інструментів, що дозволяють вирішувати виникаючі проблеми за обмежений час, тобто унормувати процедури відновлення необхідного рівня SLA, що якраз і забезпечується системою Symantec i3.

Відомо, що на пошук причин зниження продуктивності витрачається зазвичай 80% часу, і тільки 20% – на їх усунення. Тому забезпечення швидкої ідентифікації таких причин (апаратна частина, програма, клієнтська машина або користувач), які відповідальні за зниження продуктивності, і розкриття всіх деталей, необхідних для вирішення проблеми, є однією з найважливіших функцій системи i3.

Система Symantec i3, Що має повний і ефективний набір інструментів для діагностики, дозволяє надати регламентний характер процедурам діагностики, прогнозування та усунення проблем з продуктивністю прикладних систем, Що дозволяє реалізувати керований і передбачуваний процес усунення відхилень від вимог SLA, що позначається як “Управління продуктивністю”.


V. Бізнес – аспекти використання i3

i3 і питання визначення необхідних масштабів апаратної платформи. Постачальники прикладних систем часто вирішують питання визначення необхідних масштабів обчислювальних систем найпростішим шляхом – береться експертна оцінка, до якої додається певний запас потужності, і результат пропонується замовнику.

Такий підхід може призвести до значних перевитрат коштів з боку замовника, оскільки його можливості по перевірці реально необхідного рівня апаратного забезпечення вкрай обмежені. Зайве число процесорів не тільки нелінійно нарощує вартість саму по собі, але має ефект “снігової кулі”: зростає вартість ліцензій прикладної системи, СУБД, витрати на підтримку і пр.

Засоби i3 дозволяють проводити аудит пропозицій постачальника, будувати стратегію обгрунтованого нарощування обчислювальної потужності, контролювати якість поставленого програми, вимагати додаткової настройки у випадках явного нераціонального використання ресурсів.

i3 і проблеми особливо великих систем. У випадку особливо великих систем питання управління продуктивністю переростає в проблему забезпечення працездатності системи. Якщо, наприклад, в організації, що експлуатує багаторівневу прикладну систему, база даних Oracle функціонує на 4-х 64-процесорних серверах, об’єднаних в Oracle RAC, то отримання приросту продуктивності при нарощуванні апаратної потужності саме по собі стає непростим завданням. У всякому разі, вартість кожного наступного кроку з нарощування потужності апаратної платформи при подібних масштабах зростає істотно нелінійно.

i3 надає можливість пошуку ефективних рішень проблем з продуктивністю без нарощування потужності апаратної платформи.

Ризики втрат, пов’язаних з відмовами або погіршенням продуктивності прикладної системи. Управління цими ризиками можливо тільки при наявності служби, керуючої продуктивністю. Symantec i3 – основний інструментарій такої служби, що дозволяє ввести відновлення прикладної системи в русло регламентних операцій.


VI. Організаційні особливості використання i3

Сама по собі установка i3, без визначення бізнес-процедур управління продуктивністю, проблем не вирішує. Управління продуктивністю може здійснювати певна функціональна структура, що має конкретні (щоденні) завдання, регламентовані внутрішні бізнес-процеси і процедури взаємодії з іншими функціональними підрозділами. Нижче наведено можливий перелік подібних завдань, пов’язаних з різними рівнями управління та відповідальності департаменту ІТ. Система i3 дозволяє:

На рівні служб, відповідальних за експлуатацію прикладних систем: використовуючи засоби автоматизації, що надаються i3, постійно контролювати експлуатаційні характеристики, і відповідно до методиками i3 швидко діагностувати і усувати відхилення. При цьому робота фахівців набуває регламентних характер, підтримуваний ефективним інструментарієм i3.

На рівні середньої керівної ланки: здійснювати аналіз причин виникаючих відхилень на основі комплексної, об’єктивної і достовірної інформації, що виключає взаємне “перекладання” відповідальності різними службами (як відомо, найбільш складні у вирішенні проблеми виникають “на стику” зон відповідальності підрозділів і груп фахівців). Достовірна діагностика і прийняття адекватних, в т.ч. організаційних, заходів дозволяють уникати повторного виникнення однотипних проблем.

Крім того, що накопичуються статистичні дані дають можливість будувати засобами системи i3 обгрунтовані прогнози необхідності масштабування платформи прикладних систем, пов’язаного із зростанням навантаження та обсягів даних.

На рівні вищого керівництва: одержувати достовірну узагальнену інформацію про якість роботи прикладних систем в частині відповідності експлуатаційних характеристик вимогам SLA, мінімізувати ризики втрат, пов’язаних з відмовами або відхиленнями їх функціональних характеристик.

При необхідності достовірна інформація про завантаження системи та її змінах дозволяє завчасно приймати обгрунтовані рішення про додаткові інвестиції, необхідних для масштабування системи в зв’язку із зростанням обсягу виконуваних нею функцій.


VII. Короткий опис архітектури системи Symantec i3



Рис. 1. Схематичне представлення типової архітектури багаторівневої прикладної системи
 

Рис. 2. Архітектура рішення Symantec i3.

На малюнках 1 і 2 схематично представлена ​​архітектура багаторівневої прикладної системи (“цільова система”) і відповідне їй архітектура системи Symantec i3.

Збір інформації про роботу цільової системи здійснюється за допомогою програмних агентів, що встановлюються на всіх рівнях її архітектури, які передають дані про поточні значення контрольованих параметрів в центральне сховище. У зв’язку з тим, що агенти є спеціалізованими і в максимальному ступені пристосовані до особливостей конкретних модулів цільової системи, що вносяться ними обурення мінімальні.

Інформація, що накопичується в сховище, доступна всім трьом основним підсистемам i3: модулям “Insight”, “Inform” і “Indepth”. Наявність центрального сховища даних про продуктивність дозволяє здійснювати статистичний аналіз на всіх етапах проведення діагностики, а також виконувати “зворотне простежування” роботи об’єктної системи.

Модуль “Insight” сегментує час реакції цільової системи між рівнями архітектури, а також представляє додаткову інформацію, що дозволяє визначити загальний напрямок проведення діагностики. З допомогою модуля “Insight” можна за кілька секунд визначити, де знаходиться причина відхилень, що виникли в роботі цільової системи: в базі даних, в сервері додатків, або в WEB сервері. Модуль “Insight” може бути використаний у багатьох випадках для виділення витрат навіть тих інфраструктурних компонент, які не підтримуються системою i3 на рівні контролю їх внутрішніх метрик.

Приклад сегментації часу реакції, здійснюваної модулем “Insight”, наведено на рис.3. На графіку в лівій частині екрана верхня смуга характеризує загальний час реакції системи, її жовтий сегмент – мережеву частку цього часу, що припадає на зв’язок з сервером додатків, друга смуга – час реакції на рівні сервера додатків, її жовтий сегмент – мережеву частку цього часу, що припадає на зв’язок з базою даних, нижня смуга – час реакції БД. У правій частині екрана представлені розподілу тимчасових витрат всередині зазначених інфраструктурних компонент.

Існуючі засоби i3 дозволяють фільтрувати і будувати відповідні розподілу для потоків транзакцій, що обробляються певними інфраструктурними елементами.

Підсистема “SmartLink” модуля “Insight” будує розподілу витрат по інфраструктурних компонентів, що належать різним рівням архітектури, для окремих транзакцій.



Рис.3.
Розподіл часу реакції системи по інфраструктурним компонентам, що представляється модулем “Insight”.

Модуль “Inform” містить механізми повідомлень і систему формування звітів (в т.ч. графічних), призначених для статистичного аналізу параметрів прикладної системи, включаючи аналіз тенденцій. Його завдання – представити в наочній формі всю необхідну інформацію, що дозволяє дуже швидко розібратися, яке завдання, що виходить від якого користувача, в якій своєї частини і коли викликала виникли відхилення.

Модуль “Indepth” служить для проведення детального аналізу роботи компонентів цільової системи, що здійснюється на основі закладених у нього знань про принципи їх роботи. Він дозволяє виявляти конкретні джерела проблем, швидко переходячи від зовнішніх проявів до їх головним причин. Підсистема “SmarTune” автоматично пропонує варіанти корекції ситуацій. Візуальна форма подання інформації, її повнота і можливість історичного аналізу дозволяють знаходити необхідні рішення за дуже обмежений час.

На рис. 4 представлений один з екранів модуля “Indepth for Oracle”, у верхній частині якого дана розгортка значень завантаженості (сумарного часу знаходження запитів в обробці, або, іншими словами, споживаного системою часу) з розбивкою за джерелами, а в нижній частині – рівні завантаженості, створюваної різними запитами.



Рис.4.
Подання загальної завантаженості бази даних Oracle в часі і ваги окремих запитів. Добре видно тижневі цикли завантаженості і надзвичайно висока питома вага операцій введення-виведення.

VIII. Замість висновку: “як стати героєм в області продуктивності та оптимізації”

У дуже переконливою брошурі, присвяченій модулю i3 “Indepth for Sybase”, яку написав Jeffrey Garbus, консультант компанії Soaring Eagle Consulting, автор пропонує лінію поведінки для виконавця, бере на себе ініціативу з управління продуктивністю. Цей дуже особистий погляд, не позбавлений гумору, тим не менш, який ілюструє можливості i3 і методи роботи з ним.

Отже, “10 способів стати героєм в області продуктивності та оптимізації” із згаданої брошури:



  1. Один або два рази в день погляньте на графічне представлення запитів, що виконувалися у цей день. Якщо щось виглядає підозріло, досліджуйте. Потім доповісте про вирішення проблеми перш, ніж вам повідомлять про її наявність. Здійснюйте оптимізацію проактивно.
  2. Визначте групу запитів, які виконуються повільно. Найчастіше справа в загальних відсутніх індексах. Був випадок, коли додавання єдиного індексу зменшило навантаження на сервер на 70%.
  3. Визначте програми, які зазвичай виконуються довго. Ви можете визначити їх за графіком, на якому продуктивність виводиться в розрізі додатків. Попрацюйте з розробниками цих програм та навчіть їх писати ефективний SQL код.
  4. Аналізуйте тенденції продуктивності системи. Періодично перевіряйте статистичні зведення й контролюйте продуктивність окремих системних характеристик. Знаходьте аномалії, в необхідних випадках виробляєте детальний аналіз, і вирішуйте проблеми.
  5. Періодично перевіряйте, чи не наближаються чи споживані ресурси пам’яті і процесора до граничних значень. Якщо завантаження процесора в піках досягає 80%, очевидно, необхідно докуповувати ресурси.
  6. Перевіряйте використання фізичних ресурсів. Перевіряйте тенденції зростання даних та використання бази даних. Формуйте пропозиції про закупівлі ресурсів завчасно, оскільки не завжди в потрібний момент існує необхідний бюджет на придбання.
  7. Детально досліджуйте зв’язок тенденцій продуктивності з роботою мережі. Чи є часті викиди на рівні мережевих пакетів? Нерідко за цим криється можливість істотного поліпшення продуктивності на макро-рівні.
  8. Час від часу змінюйте тимчасові інтервали, які ви контролюєте. Якщо вікно, коли виконуються пакетні завдання, не впливає на роботу транзакційних завдань, це ще не означає, що не варто заробити додаткові очки в свій актив, показавши комусь, як зробити, щоб його тригодинне завдання виконувалося за 15 хвилин. У якихось випадках це позбавить когось від стресу.
  9. Навчіть програмістів, що розробляють програми, користуватися цим інструментом. Він ліцензується на рівні процесорів, а не користувачів. Програмісти щиро прагнуть зробити свій код більш ефективним. Допоможіть їм у цьому.
  10. Періодично змінюйте тимчасову перспективу, яку ви охоплюєте. Можливо, існують провали продуктивності по вівторках після обіду? Як щодо кінця місяця? Чи не варто поміняти конфігурацію системи? Зрештою, можна легко перевірити, як впливає на продуктивність зміна кешей, розмірів мережевих пакетів і пр.
  11. (Бонус!) Контролюйте сервер розробників, і створюйте індекси, необхідні розробникам додатків, до того, як вони попросять про це.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*