Перегляд ярусів (Tier View), ASP, Програмування, статті

Після створення скрипта контролю завантаження можна запускати 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>

*

*