Що впливає на продуктивність ERP-систем
Складні налаштування, кастомізовані об’єкти системи, використання додаткових модулів з бібліотеки додатків системи, певна кількість одночасно працюючих користувачів, великі масиви даних, безліч обчислень, що відбуваються в процесі виконання тих або інших запитів — все це є викликом для продуктивності системи. Адже компанії очікують, що швидкодія ERP-системи буде завжди на високому рівні.
І тут є два аспекти:
- Апаратна або технічна підтримка продуктивності.
- Архітектурно виважені та коректно налаштовані модифікації/кастомізації системи, що виникають в процесі впровадження.
Про інструменти
Microsoft Dynamics 365 Business Central
У випадку Microsoft Dynamics 365 Business Central з точки зору апаратного/технічного аспекту (сервер в «хмарі» і серверне програмне забезпечення) Microsoft забезпечує продуктивність за допомогою інтелектуального розподілення навантаження між віртуальними серверами, автоматично підключаючи сесії до нових серверів, якщо навантаження на попередні перетинає 60%. Про це балансування ресурсів в «хмарі» ми окремо детально писали. Ключове тут — це те, що цей процес відбувається автоматично і не потребує від користувачів зусиль та уваги.
Вищезазначені твердження щодо стабільної швидкодії ERP-системи вірні, коли розмова йде про використання vanilla code — налаштувань тільки стандартних функцій системи.
Водночас при впровадженні в компанії з більш-менш складними вимогами виникає необхідність кастомізацій — створення нових сутностей, функцій, побудова інтеграцій із зовнішніми системами через API. В цьому випадку швидкодія може зазнавати уповільнення, оскільки кастомізації, особливо складні, можуть бути побудовані не завжди ефективно. Іноді, навіть при тестуванні можуть бути гарні показники продуктивності, а при роботі реальної кількості користувачів з реальними даними, стає помітним уповільнення в деяких місцях, наприклад, в певний момент, створення якогось документа або звіту потребує більшого часу, ніж це було на тестовому середовищі.
Business Central
Тут на допомогу приходять кілька інструментів, призначених для моніторингу, аналізу та оптимізації продуктивності які пропонує Microsoft для Business Central:
- Telemetry.
- Performance Profiler.
- Performance Toolkit.
Розповімо про кожен із них детальніше.
Telemetry
Telemetry є сервісом, який збирає велику кількість даних діяльності Business Central і дає можливість ці дані аналізувати. Підключення Telemetry для певного тенанту, в якому розташований Business Central, відбувається через Azure Application Insight. Всі показники можна аналізувати за допомогою великого набору дашбордів у спеціально налаштованому для цього датасеті Power BI.
Основні типи інформації, яку збирає і надає для аналізу Telemetry, є наступними:
- Активність користувача: інформація про взаємодію користувача з системою, наприклад, до яких сторінок він звертається і як часто.
- Показники продуктивності: дані про те, як швидко виконуються різні функції та процеси.
- Звіти про помилки: детальна інформація про будь-які помилки або попередження, які виникають.
- Стан системи: показники, пов’язані із загальним станом системи, включаючи навантаження на сервер і використання ресурсів.
Ось приклади сторінок з елементами показників та графіків Telemetry.
Performance Profiler
Performance Profiler у свою чергу є вбудованою функцією Dynamics 365 Business Central і його основною роллю є запис того, як працює система (у вигляді виконання функцій певних об’єктів системи, залучених в процесі роботи) під певним користувачем. Тобто, коли користувач, що виконує ті або інші дії в системі, стикається з проблемою швидкодії, адміністратор може включити для цього користувача функцію Performance Profiler і зупинити її в будь-якому місці процесу роботи користувача. В результаті буде отриманий запис, який можна переглянути і побачити які саме об’єкти виконували свою дію і скільки часу це займало. Перевагою є те, що запис робиться в тому числі з врахуванням об’єктів розширень (Extensions), які додавалися з Microsoft AppSource як додаткова функціональність, створена третіми сторонами, партнерами Microsoft. Якщо швидкодія спостерігається на стороні цих розширень, то можна поділитися посиланням на конкретний запис Performance Profiler з власниками цих розширень, щоб вони мали змогу зробити коригування і вирішити проблему. Якщо ж проблема є з базовими об’єктами Business Central та/або власно створеними розширеннями, які виконувалися у рамках кастомізації, то розробник може побачити навіть місця коду, який впливає на швидкість — це значно скорочує пошук проблемної зони для виправлення.
Ось приклади сторінок, які генеруються в процесі запуску Performance Profiler:
Performance Toolkit
Performance Toolkit є розширенням Business Central, яке розроблене Microsoft і може бути безкоштовно встановлене на тестове середовище Business Central.
Мета роботи цього розширення — допомогти проводити симуляцію та аналіз навантаження системи, використовуючи набір сценаріїв. Особливо це важливо, коли в процесі впровадження відбуваються кастомізацією, створюються нові об’єкти, а також додаються розширення з Microsoft AppSource. До повноцінного запуску системи в промислову експлуатацію в організації є сенс перевірити як поводиться система при певному навантаженні, наприклад, відповісти на питання «Чи може система в такій конфігурації витримати ось таку кількість транзакцій, згенерованих ось такою кількістю одночасних користувачів?»
Результати роботи Performance Toolkit транслюються через підключену Telemetry і знаходять своє відображення у наборі графіків і показників у відповідних датасетах Power BI для зручного спостереження результатів симуляції навантаження.
Підведемо підсумки
Телеметрія в Business Central допомагає виявляти проблеми, оптимізувати роботу системи та забезпечувати безперервний моніторинг для покращення продуктивності та стабільності системи.
Performance Profiler допомагає ідентифікувати вузькі місця, оптимізувати код та покращувати загальну ефективність системи.
Performance Toolkit містить засоби для моделювання навантаження, аналізу продуктивності та виявлення потенційних проблем до їх виникнення.
Сучасний бізнес софт має містити інструментарій для моніторингу та телеметрії, щоб вивантажувати час ІТ-департаментів на адміністрування та технічну підтримку систем.