Перегляд ярусів (Tier View)

Після створення скрипта контролю завантаження можна запускати VTune.
Спочатку створіть новий проект і настройте сервер збору даних для
тестування всіх серверів програми (див. рис. 1).

Рис. 1. Для установки параметрів тестування потрібно лише вказати
імена серверів – поставити кілька прапорців у відповідних полях.

 

На даному етапі необхідно запустити програму тестування для
імітації реального навантаження, після чого запустити процес збору даних з
додатка VTune's GUI. Час роботи програми не обмежено;
сервер збору даних можна в будь-який момент зупинити.

 

Перегляд результатів тестування здійснюється декількома
способами: за ярусу, по комп'ютеру, по об'єкту або по завданню. При
перегляді ярусу відображається діаграма всього процесу тестування, а
також час відгуку кожного ярусу програми (див. рис. 2). Таким чином
надається повна та точна інформація про роботу кожного ярусу під
час тестування, що дозволяє виявити області, які потребують
додаткового аналізу.

Рис. 2. Вид Tier View в VTune забезпечує наочне уявлення
про роботу ярусів додатки.

 

Єдиним недоліком діаграм VTune, що не дозволяють назвати їх
повністю інтуїтивними, є відсутність (за деякими винятками)
контекстних меню. Наприклад, при натисненні лівої кнопки миші можна
перетягнути в потрібне місце виділений часовий відрізок діаграми. Я один
раз спробував: виділив все, як належить, і сподівався на те, що при
натисканні правої клавіші миші з'явиться меню з усіма доступними опціями.
Цього не сталося, і мені довелося досить довго вивчати довідку – для
того щоб з'ясувати, що для збільшення відображення виділеної області
було достатньо натиснути кнопку Time Filter на панелі інструментів. Та й
потім, при всій майже безумовної корисності Tier View, в якійсь
момент виникає бажання отримати з його допомогою трохи більше
інформації, ніж було доступно (наприклад, дізнатися про дії,
виконуваних при виділенні частини діаграми або в міру підведення до неї
курсору).

Перегляд комп'ютерів (Machine View), завдань (Task View) і об'єктів
(Object View)

Вид "Machine View" (див. рис. 3) забезпечує більш глибоке розуміння
роботи програми, ніж перегляд окремих ярусів. Відповідно до свого
назвою, вид "Machine View" дозволяє переглядати робочі
характеристики та реакцію на навантаження кожного фізичного сервера. Яруси
можна фільтрувати і переглядати одночасно, а також вибирати
атрибути сервера для включення їх у діаграму (наприклад, можна вибрати
такі характеристики, як завантаженість CPU, використання фізичної і
віртуальної пам'яті, I / O диска, заняття смуги пропускання мережі і час
відгуку).

Рис. 3. У Machine View показана робота кожного сервера,
задіяного у тестуванні.

 

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

 

Поряд з Tier View і Machine View, два інших розглянутих виду по
всіма показниками є тими областями, де можливості VTune
проявляються повною мірою, і де розробники ASP.NET домоглися
максимальних результатів, незважаючи на витрачені час, гроші і
зусилля. Починаючи з Task View (див. мал. 4), в VTune відображається інформація,
яка знайома будь-якому програмісту-розробнику: запити URL, методи
викликів і виклики баз даних. Ці типи викликів відображаються
безпосередньо у фізичних ярусах триярусною архітектури додатків.

Рис. 4. У Task View представлена детальна інформація за запитами
ASP.NET і SQL, а також за методами викликів.

 

Task View надає мінімальне, середнє і максимальне час
відгуку для всіх запитів, які виконуються і викликів. Крім цього, відбувається
обчислення завантаження по кожному викликом – це середній час відгуку,
помножене на кількість виконань даного виклику. Високі показники
завантаження можуть означати, що виконується елемент не повністю
оптимізований, і на нього варто звернути особливу увагу.

 

При натисканні на один з виконуваних елементів з'являється діаграма з
зазначенням різних характеристик елемента за час тестування.
Подібно до інших видів, тут також можна виділити часовий відрізок і
збільшити його для більш детального перегляду. Докладні дані по
виділеного елементу можна переглянути як окремо, так і у зв'язку з
іншими викликами.

 

Одним недоглядом в розробці Task View, з яким я зіткнувся, була
неможливість як збереження, так і експорту даних в інший формат. Це
досить дивно, оскільки в меню File є як рядок Export, так і
команда Save As, проте вони завжди недоступні (хоча повинні бути
активними). У довідці за VTune йдеться про те, що ці функції повинні
працювати, однак, програма цього не враховує. І, нарешті, продукту
абсолютно не вистачає залежною від контексту інтеграції між різними
видами перегляду – здається, що останні представляють скоріше окремі
блоки незв'язаних між собою даних, а не є просто різними
способами перегляду однієї й тієї ж інформації.

 

Task View дозволяє переглядати повні дані по роботі програми
у вигляді таблиці, тоді як Object View надає докладну інформацію
по всій архітектурі. На рис. 5 видно, що Object View відображає потік
виконання для всіх ярусів, серверів і об'єктів. Основне призначення
даного виду перегляду – продемонструвати роботу всіх компонентів
разом, а не те, як вони працюють. Ідея хороша, але (більш ніж імовірно)
якщо вам вже доводилося займатися побудовою триярусною
архітектури, то схожа діаграма – і, можливо, навіть більше –
у вас вже є.

Рис. 5. Object View відображає взаємозв'язку між ярусами,
серверами і об'єктами.

Ефективне використання VTune

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

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

 

Використовуйте Tier View для перевірки того, не займає чи який-небудь
ярус велику частину часу відгуку. Це дозволяє уникнути проблем з
переіндексації бази даних в той момент, коли необхідно тільки
підвищене використання можливостей кешування ASP.NET.

 

Використовуйте Machine View для визначення того, не знижується чи
продуктивність через збої Web-сервера або сервера додатків. Може
трапитися так, що сервера баз даних просто необхідна додаткова
пам'ять або процесори. Не витрачайте час на аналіз кодів, коли на самому
справі необхідно оновлювати "залізо". Ця інформація допоможе визначити
подальші необхідні дії. У цих випадках корисно співвіднести
вартість VTune з витратами на (можливо) не зовсім правильне
оновлення апаратного забезпечення, включаючи витрати на консультантів і
т.д.

 

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

 

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

 

VTune Enterprise Analyzer для Web-додатків від Intel може стати
безцінним інструментом при тестуванні програми c триярусною
архітектурою, спрямованим на підвищення продуктивності, на етапі
розробки (а не на етапі подальшого використання даного
додатки). VTune можна з успіхом застосовувати в середовищах розробки в
Як діагностичний інструмент для виявлення "неявних" проблем,
хоча Intel не припускала їх для використання в такій якості.

 

Основний для побудови потужних додатків з триярусною архітектурою
є. NET Framework. Однак навіть тут завдання побудови такої
архітектури може бути досить важким, а Visual Studio. NET поки не
дозволяє створювати повністю оптимізовані системи. VTune Enterprise
Analyzer призначений для заповнення саме цієї прогалини і, при
правильному використанні, допомагає досягти максимальної ефективності
додатків.

 

Кен Мак-нейм (Ken McNamee) – Старший інженер з розробки
ПО корпорації RelayHealth Corp. – Провідного провайдера безпечних
Web-рішень. Раніше він очолював групу розробників, які займалися
перекладом сайту Home Shopping Network's e-commerce, HSN.com на 100%
ASP.NET з використанням C #. Контактна адреса електронної пошти:
mailto:kenmcnamee@hotmail.com.

asp:factfile

VTune Enterprise Analyzer для Web-додатків – інструмент
діагностування продуктивності триярусних Web-архітектур.

Intel Corp.
2200 Mission College Blvd.
Santa Clara, Calif. 95052

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


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

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

Ваш отзыв

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

*

*