Оцінка продуктивності системи за методикою APDEX

Як можна оцінити поточну продуктивність працюючої системи 1С? Як зрозуміти швидкість роботи вашої системи в простих і зрозумілих шкільних термінах: відмінно, добре, задовільно, дуже погано і неприйнятно? У цьому допоможе рекомендована фірмою «1С» методика. Про цю методикою і поговоримо нижче (в статті наводиться приклад оцінки продуктивності системи «1С: Підприємство», однак дану методику можна застосовувати і для інших облікових систем).

1. Для чого потрібна оцінка продуктивності системи

Можна навести кілька прикладів, коли необхідна оцінка поточної продуктивності системи:

  1. Загальне розуміння об’єктивної оцінки швидкості роботи системи, після налаштування і введення в експлуатацію системи.
  2. Для оцінки обладнання, на якому працює система. Наприклад, якщо планується перенесення робочої системи на нове обладнання можна заздалегідь (або ж постфактум) оцінити наскільки покращиться / погіршиться продуктивність системи після перенесення.
  3. З ростом інформаційної бази може погіршуватися і продуктивність системи. При активному моніторингу продуктивності, адміністратори системи можуть заздалегідь прийняти рішення про оптимізацію системи або купівлі нового обладнання, не поспішаючи і розглядаючи різні варіанти. В іншому випадку може виникнути ситуація, коли продуктивність стане зовсім неприйнятною і доведеться в поспіху приймати якісь не завжди оптимальні рішення.
  4. При активній доопрацювання системи, внесення модифікацій і нового функціоналу, необхідний постійний моніторинг продуктивності системи. Це потрібно для того, щоб розуміти, як змінилася час виконання тієї чи іншої ключової операції після внесення модифікації. Наприклад, якщо не вести моніторинг продуктивності, то можлива ситуація, коли чергова модифікація може сильно збільшити час проведення конкретної операції. Розробники, як правило, рідко тестують доопрацювання в умовах реального навантаження системи, і про подібні «гальмах» дізнаються вже від користувачів. Що ще гірше, подібні модифікації, які гальмують систему, можуть не відчуватися відразу, а накопичуватися поступово. І потім вже знайти причини повільної роботи системи буде набагато важче (довше, дорожче), ніж простий моніторинг і своєчасне виправлення помилок.
  5. Перед початком оптимізації системи, обов’язково повинна бути проведена поточна оцінка продуктивності. По-перше, це необхідно для того, щоб власне зрозуміти, які операції в системі слід оптимізувати, а по-друге, щоб після закінчення робіт по оптимізації (а також під час проведення робіт) можна було оцінити і надати замовнику звіт про виконану роботу в зручній і зрозумілій формі, спираючись на конкретні числа і показники.

З наведених вище прикладів, слід, що методика, за якою буде оцінюватися система повинна бути:

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

Методика APDEX володіє всіма необхідними властивостями і добре підходить для вирішення перерахованих завдань.

2. Основні терміни і поняття

Перш, ніж перейдемо до самої методикою APDEX, давайте розглянемо кілька нових термінів і понять.

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

Говорячи простіше, ключова операція – це операція, швидкість виконання якої критична для бізнесу. А на практиці під ключовий операцією розуміють дії системи після натискання користувачем будь-якої кнопки на формі або вибору пункту меню. Виключаючи деякі варіанти навантажувального тестування (коли завмер ведеться тільки на сервері), з написаного вище випливає що:

  • Ключова операція завжди починається на клієнті.
  • Ключова операція завжди закінчується на клієнті. Тобто ми не можемо розбити на кілька ключових операцій дію, яке є єдиним з точки зору користувача. В цьому немає сенсу, т. К. Вимоги до частин операції не можуть бути визначені (користувачеві все одно).
  • Немає особливого сенсу вважати ключовою операцію, яка виконується рідко або виконується одним користувачем. Рекомендується вважати операцію ключовий, якщо операція виконується одночасно значною кількістю користувачів (понад 10). Хоча і можливі деякі винятки. Наприклад, якщо регламентна операція «Розрахунок собівартості» не виконується за розумний термін (наприклад, за ніч) її теж можна включити в список ключових операцій.

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

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

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

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

Наприклад, в типових рішеннях системи «1С: Підприємство» рекомендований цільове час виконання операцій:

  • Для проведення документів – 3 секунди;
  • Для формування звітів – 5 секунд.

3. Визначення оцінки продуктивності за методикою APDEX

Тепер перейдемо до самої методикою APDEX. Методика APDEX (читається як Апдекс, з наголосом на перше склад) є широко поширеним міжнародним стандартом оцінки продуктивності інформаційних систем і розшифровується як Application Performance Index. Як видно з назви, дана методика дозволяє отримати деяку числову оцінку або індекс продуктивності системи.

Алгоритм оцінки й одержання індексу продуктивності за даною методикою наступний:

1. Отримання списку ключових операцій

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

Нехай після розмови з замовником або ключовими користувачами було отримано таку список ключових операцій (операції проведення документів):

операція
Прибутковий касовий ордер
Товарна накладна ТОРГ-12
Реалізація товарів і послуг
Видатковий ордер на товари

2. Встановлення пріоритетів для ключових операцій

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

Нехай пріоритет для обраних ключових операцій буде наступним:

операція пріоритет
Реалізація товарів і послуг 1
Видатковий ордер на товари 2
Прибутковий касовий ордер 3
Товарна накладна ТОРГ-12 4

3. Визначення цільового час для кожної операції

Далі, для кожної операції необхідно визначити цільове часТ.

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

Також, можна самостійно заповнити час T і віддати замовнику на затвердження. Як вже говорилося вище, в типових рішення системи «1С: Підприємство» рекомендований цільове час виконання операцій наступне:

  • Для проведення документів – 3 секунди;
  • Для формування звітів – 5 секунд;
  • Для специфічних операцій – за домовленістю.

Нехай було отримано цільове час для обраних ключових операцій:

операція пріоритет T
Реалізація товарів і послуг 1 3
Видатковий ордер на товари 2 20
Прибутковий касовий ордер 3 5
Товарна накладна ТОРГ-12 4 10

4. Збір інформації про час виконання кожної ключової операції

Далі найскладніший етап, це етап збору інформації про фактичний час виконання ключових операцій. Якщо інформаційна система вже впроваджена і знаходиться в робочій експлуатації, то слід зібрати інформацію про час відгуку системи на КОЖНІЙ ключовий операції при КОЖНОМУ її виконанні. Якщо інформаційна система ще не впроваджена, то ті ж самі дані можна отримати під час многопользовательского навантажувального тестування.

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

Організувати збір такої інформації можна за допомогою таких засобів:

  1. За допомогою підсистеми «оцінка продуктивності», Що входить до складу« 1С », а значить і включену в усі типові рішення системи« 1С: Підприємство ».
  2. За допомогою різних сервісів зі збору статистики, наприклад сервісу http://www.gilev.ru/apdex/.
  3. Написати і вбудувати в конфігурацію свій власний інструмент по виміру часу виконання ключових операцій і збереження зібраних даних.

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

  • Перераховувати APDEX при зміні цільового часу Т;
  • Відслідковувати динаміку зміни продуктивності системи.

5. Отримання оцінки APDEX

Індекс продуктивності APDEX обчислюється окремо для кожної ключової операції. Для цього необхідно обробити дані по часу виконання всіх ключових операцій і отримати наступні значення:

  • N – загальна кількість виконань даної операції
  • NS – кількість виконань з часом відгуку від 0 до Т
  • NT – кількість виконань з часом відгуку від T до 4T

Значення APDEX обчислюється за формулою:

APDEX = (NS + NT / 2) / N

Т. е. APDEX показує відношення успішних і наполовину успішних дій до загальної кількості дій. Таким чином індекс APDEX знаходиться в діапазоні від 0 до 1.

З точки зору користувача:

  • Т – це час, який користувача повністю задовольняє;
  • 4Т – це час, який користувача не задовольняє, але він дочекався отримання результату;
  • Більше 4Т – користувач не дочекався отримання результату, т. Е. Операція не виконана.

Нехай при вимірі продуктивності документ «Реалізація товарів і послуг” був проведений 1012 раз (N), причому в 262 випадках час проведення документа було менше або дорівнює 3 секундам (NS), в 403 випадках воно було в діапазоні від 3 до 12 секунд (NT), а в решти 347 випадках час проведення документа перевищило 12 секунд. Тоді APDEX для даної та інших операцій буде наступним:

операція пріоритет T N NS NT APDEX
Реалізація товарів і послуг 1 3 1012 262 403 0.46
Видатковий ордер на товари 2 20 2136 2003 133 0.97
Прибутковий касовий ордер 3 5 1012 318 524 0.57
Товарна накладна ТОРГ-12 4 10 2136 1325 567 0.75

6. Інтерпретація отриманих значень APDEX

Методика APDEX дозволяє інтерпретувати отримані числові значення в термінах якісних оцінок ( «добре» – «погано»). Шкала APDEX містить наступні діапазони значень:

значення оцінка
від до
0.00 0.50 неприйнятно
0.50 0.70 дуже погано
0.70 0.85 погано (задовільно)
0.85 0.94 добре
0.94 1.00 відмінно

Застосувавши цю шкалу до таблиці отримаємо наступний результат:

операція пріоритет T N NS NT APDEX оцінка
Реалізація товарів і послуг 1 3 1012 262 403 0.46 неприйнятно
Видатковий ордер на товари 2 20 2136 2003 133 0.97 відмінно
Прибутковий касовий ордер 3 5 1012 318 524 0.57 дуже погано
Товарна накладна ТОРГ-12 4 10 2136 1325 567 0.75 погано

7. Висновки

Для даного прикладу, з отриманої таблиці можна зробити наступні висновки:

  • У поточному стані система практично непрацездатна. Велика частина ключових операцій виконується неприпустимо повільно.
  • Користувачі системи не задоволені її продуктивністю в більшості випадків.
  • Найбільш пріоритетна операція (Реалізація товарів і послуг) є найбільш вузьким місцем системи. Слід починати оптимізацію саме з неї.

4. Визначення цільового часу по заданому значенню APDEX

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

Алгоритм вирішення даного завдання буде наступний:

1. Отримання суб’єктивної оцінки продуктивності цієї операції

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

  • неприйнятно
  • Дуже погано
  • погано
  • добре
  • відмінно

Нехай в прикладі з попереднього пункту замовник або ключовий користувач не зміг назвати цільове час для операції «Прибутковий касовий ордер».

операція пріоритет T
Реалізація товарів і послуг 1 3
Видатковий ордер на товари 2 20
Прибутковий касовий ордер 3 ???
Товарна накладна ТОРГ-12 4 10

Але він зміг оцінити поточний час виконання цієї ключової операції як «дуже погано». Будемо вважати, що це відповідає значенню APDEX = 0.6 (середина інтервалу «дуже погано»).

2. Збір інформації про поточний час виконання операції

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

3. Побори цільового часу за відомим значенням APDEX

Тепер маючи на руках дані виміру продуктивності необхідно підібрати таке значення T при якому APDEX буде приблизно дорівнює заданому значенню. У разі використання підсистеми «оцінка Продуктивності»З Бібліотеки стандартних підсистем це можна зробити безпосередньо в режимі виконання. якщо «оцінка Продуктивності»Не використовується, то цільове час можна отримати за допомогою функції«підібрати значення», Що входить в Excel пакету Microsoft Office.

Нехай шляхом такого перебору ми отримали значення Т = 5 секунд.

4. Перевірка правильності отриманого значення Т

Ну і потім необхідно перевірити правильність отриманого значення Т і продовжувати отримувати значення APDEX для даної операції, виходячи з нового цільового часу.

5. Формула розрахунку Delta APDEX

У Корпоративному інструментальних пакеті (КВП) від «1С» і в підсистемі «оцінка Продуктивності»Бібліотеки Стандартних Підсистем також активно застосовується ще один показник DeltaApdex, який розраховується за формулою:

DeltaApdex = (NF + NT / 2) / Nall

де:

  • NT – число виконань операції з часом від Т до ;
  • NF – число виконань операції з часом більше 4Т (NF = N-NS-NT);
  • Nall – число виконань всіх операцій.

Даний показник говорить про вплив кожної ключової операції на продуктивність інформаційної системи в цілому. Іншими словами він вказує наскільки зміниться APDEX всієї інформаційної системи в разі оптимізації конкретної ключовий операції.

У нашому прикладі Nall = 1012 + 2136 + 1012 + 2136 = 6296, а DeltaApdex буде наступним:

операція пріоритет T N NS NT NF APDEX Delta
Реалізація товарів і послуг 1 3 1012 262 403 347 0.46 0,0871
Видатковий ордер на товари 2 20 2136 2003 133 0 0.97 0,0105
Прибутковий касовий ордер 3 5 1012 318 524 170 0.57 0,0686
Товарна накладна ТОРГ-12 4 10 2136 1325 567 244 0.75 0,0837

Підрахувавши DeltaApdex бачимо, що для того, щоб поліпшити загальний індекс продуктивності системи необхідно почати оптимізацію з операцій «Товарна накладна ТОРГ-12»І«Реалізація товарів і послуг».

Розглянемо ще один приклад. Нехай в результаті аналізу і збору статистики були отримані наступні дані:

ключова Операція Цільове час (сек.) Середній час (сек.) число операцій APDEX Delta
Відкриття форми списання з розрахункового рахунку 0,5 1,264 65285 035212 0,0795
Відкриття форми вибору номенклатури 0,5 1,001 64344 0,5872 0,0532
Відкриття форми документа рахунок на оплату покупцям 0,5 1,231 49415 0.5362 0,0317
Відкриття форми документа надходження на розрахунковий рахунок 0,5 1,413 34057 0.4808 0,0287
Відкриття загальної форми документа реалізація товарів послуг 0,5 2,078 23744 0.3587 0,0232
Відкриття форми товари документа реалізація товарів послуг 0,5 1,678 26765 0,466 0,0135
Проведення документа надходження товарів і послуг 2 2,62 49378 0,7206 0,013
Створення форми списку документа рахунок на оплату покупцям 0,5 1,808 25013 0,4643 0,0125
Проведення документа списання з розрахункового рахунку 2 1,924 77956 0,8382 0,0121
Відкриття загальної форми документа надходження товарів послуг 0,5 2,279 17908 0,3075 0,0117

І загальна продуктивність (APDEX) системи 0,66 (Погано). Тоді для виведення загальної продуктивності системи на рівень більше 0,85 (Добре) необхідно оптимізувати тільки 4 операції, тому що 0,66 + 0,0795 + 0,0532 + 0,0317 + 0,0287 = 0,66 + 0,1931 = 0,8531.

Ссылка на основную публикацию