• Час читання ~4 хв
  • 25.08.2022

Сьогодні програмне забезпечення стає все більш критичним для бізнесу. Вони виконують ключові ролі, пов’язані з клієнтами, керують бек-офісною діяльністю та допомагають нам краще розуміти бізнес-діяльність.

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

Рішення Application Performance Monitoring (APM) вирішують цю проблему, дозволяючи вам бачити, що відбувається всередині ваших програмних програм у реальному часі.APM може надати вам інформацію, щоб зменшити витрати, зменшити відтік і запобігти перебоям у доступності вашого бізнесу. Краще розуміння взаємодії з клієнтами може дати вам шляхи для збільшення прибутку та утримання.

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

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

< p>Ось короткий огляд того, що ми розглянемо. Не соромтеся пропустити вперед, якщо вам буде зрозуміло:

  1. What is Application Performance Monitoring (APM)?
  2. Why is App Performance Monitoring so important?
  3. APM Software Metrics: What does APM encompass?
  4. Examples of how Application Performance Monitoring can help
  5. Choosing the best APM Tool for your business
  6. Best practices in APM

Що таке моніторинг продуктивності програми (APM)?

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

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

  • See exactly what your applications are doing while interacting with real users
  • Discover problems that may be limiting sales, keeping customers from using your product successfully, or damaging your brand experience
  • Identify when your applications are struggling and why
  • Identify where applications are wasting resources so you can tune to reduce expenses and increase availability
  • See historical trends and proactively prevent service outages
  • Ця інформація збирається службою APM і представлена ​​таким чином, щоб її було легко зрозуміти та усунути несправності.Ви можете переглядати, що відбувається з вашою програмою в цілому, включаючи обсяг запитів, час відповіді, рівень помилок, використання пам’яті, відмінності між екземплярами вашої програми та багато іншого.

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

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

    Чому моніторинг продуктивності програми такий важливий?

    Ви коли-небудь намагалися купити щось онлайн, але відмовилися, оскільки веб-сайт компанії працював повільно, з помилками або не реагував? Чи намагалися ви коли-небудь скористатися послугою, за яку платите і на яку покладаєтеся, але бачите її несправну або недоступну? Як ви ставитеся до цих компаній після того, як це сталося? Ви хочете продовжувати співпрацювати з ними?

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

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

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

    Використання APM також має прямі переваги для команд програмного забезпечення. Чітке розуміння того, що насправді відбувається з вашими робочими програмами, допомагає командам визначити пріоритети:

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

    • Identifying which bugs customers are encountering and at what rate
    • Understanding which areas of your application get the most use
    • Determining opportunities for expanding your application's value or capturing more market share
    • Focusing their efforts on the initiatives that yield the highest returns for your business

    Показники програмного забезпечення APM: що означає продуктивність програми Моніторинг Encompass?

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

    Загальні показники для рішень APM включають:

    1. Understand how your applications are being used: how many users are using the system at once? for how long? where are they having problems? are specific subsets of users poorly served? what is causing a problem for a specific customer?
    2. Understand your requests: how much traffic are you receiving? from where? how fast are you responding? which aspects of the application are slow?
    3. Understand your resource usage: how much CPU are you using? is your application leaking memory? are processes bloated because of poor code execution? are you running unnecessary database queries? will your application scale gracefully with growth?
    4. Track how things are changing: what are the impacts of new deploys? are you introducing new problems? are you fixing the problems you think you are?
    5. Know what isn't working: is your application experiencing errors? why? who is affected? are specific code paths or database queries slowing down your application? what can you do to fix things?

    Крім того, деякі інструменти мають розширені функції, включаючи:

    • Request rates (traffic throughput) and response time
    • 95% Response time 
    • Load Balancer queue time
    • Application resource usage (CPU, Memory)
    • Apdex (User Satisfaction)
    • Error rates (application degradations and failures)

    Приклади того, як моніторинг продуктивності програми може допомогти

    Давайте зануримося в деякі конкретні приклади, щоб краще зрозуміти, як APM може вам допомогти:

    Чому моя програма працює повільно?

    Однією з найпоширеніших проблем із програмами є низька продуктивність.Це може проявлятися у вигляді низького початкового часу завантаження, повільної роботи або жахливого відчуття «зависання», коли програма перестає відповідати.

    • Why is my application slow?
    • Are all requests slow or just some of them? Who is affected?
    • How can I optimize my operations to spend less money?
    • How long has this been happening? Who has been affected?
    • What are my users doing? What do they like and want more of?

    Низька продуктивність також має реальні фінансові наслідки. - останнє дослідження показує, що коефіцієнти веб-конверсії падають на в середньому 4.4% з кожною додатковою секундою часу завантаження.

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

    Чи всі запити повільні чи тільки деякі з них? Кого це стосується?

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

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

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

    Коли ви визначите, які запити спричиняють проблеми з продуктивністю, хороший інструмент APM дасть вам можливість відстежити задіяний код, побачити, скільки часу використовується якими частинами, і зрозуміти, як взаємодія із зовнішніми службами, кеш-пам’яттю та базами даних сприяє до проблем.

    Як я можу оптимізувати свої операції, щоб витрачати менше грошей?

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

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

    Як давно це відбувається? Хто постраждав?

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

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

    Крім того, APM дозволяє сповіщати про небажану поведінку програми.Вашу команду буде сповіщено, щоб вони могли працювати над пом’якшенням наслідків задовго до того, як ви почуєте скарги від клієнтів.

    Що роблять мої користувачі: з чим вони борються? Що їм подобається і чого вони хочуть більше?

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

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

    Важливі критерії під час вивчення рішень APM включають:

    Вибір Інструмент APM, який найкраще підходить для вашого бізнесу

    • Which parts of your application users are using regularly?
    • Do you have different groups of users with significantly different behavior?
    • What errors are specific users seeing?

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

    Важливі критерії під час вивчення рішень APM включають:

    Якість підтримки вибраних мов:

    < strong>Можливість сегментувати запити:

    Можливості трасування коду:

    Інструменти на замовлення:

    • Does the solution have rich support for the languages you are using? 
    • Are common libraries automatically detected and instrumented? 
    • Does the tool help you identify common issues and bottlenecks for your languages/frameworks?

    Програма підключення поведінка для бізнес-результатів:

    • Can you find requests by user, by application instance, or by other dimensions that matter to you? 
    • Can you filter by custom criteria to find the requests you care about most quickly?

    Найкращі практики для APM

    • Can you easily visualize where your application is spending time during a request? 
    • Can you see how time is used interacting with external resources or between services?
    < p>Щоб отримати найкращі результати від будь-якого інструменту APM, спершу подумайте про свої конкретні бізнес-цілі: як виглядає звичайна поведінка програми? Що свідчить про реальні проблеми?Що означало б, якби ви досягли цього за допомогою своєї програми?

    • How easy is it to create custom events and traces in your preferred language? 
    • You will eventually outgrow built-in instrumentation for any solution so the ability to get visibility into application-specific logic easily is important.

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

    • Can you visualize the key metrics that indicate business success or failure for each of your applications?
    • When application behavior changes can you easily understand what the impact is for your business? 

    Що вимірюється, тим керується

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

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

    • Define your key Service Level Agreements (SLAs) and ensure you can visualize and alert on them
    • Create alerts for meaningful shifts from application norms in request volume, latency, and error rates
    • Pair APM with infrastructure monitoring so you can understand when changes in your applications are driven by changes in environment, rather than changes in code
    • If your applications' resource usage can scale dynamically (common for cloud-based deployments), consider using your key APM metrics as triggers for your auto-scaling processes
    • Last but certainly not least, ensure your engineers are aware of your APM tools and are comfortable using them to their full capability

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

    Comments

    No comments yet
    Yurij Finiv

    Yurij Finiv

    Full stack

    Про мене

    Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

    Про автора CrazyBoy49z
    WORK EXPERIENCE
    Контакти
    Ukraine, Lutsk
    +380979856297