APM: چیست، معیارها و چگونه کار می‌کند

نویسنده: IT Sectr منتشر شده: 2026-05-29 زمان مطالعه: 8 دقیقه

APM (Application Performance Monitoring) — یک رویکرد جامع برای مشاهده عملکرد نرم‌افزار است که شامل جمع‌آوری معیارها، ردیابی درخواست‌ها و تشخیص خطاها در زمان واقعی می‌باشد. بر اساس داده‌های Gartner IT Glossary, 2024، APM سه حوزه کلیدی را ترکیب می‌کند: نظارت بر تجربه کاربر، تشخیص خرابی‌ها در معماری برنامه و تحلیل داده‌های اجرا برای تشخیص عمیق رویدادها.

نکات اصلی

  • APM — Application Performance Monitoring، سیستم نظارت بر عملکرد برنامه‌ها در همه سطوح: مشتری، شبکه، سرور، زیرساخت.
  • سه ستون APM — معیارها، ردیابی و لاگ‌ها، ترکیب شده در یک پلتفرم مشاهده‌پذیری واحد برای تحلیل جامع رویدادها.
  • APM مبتنی بر عامل — نصب عامل نرم‌افزاری روی سرور برنامه برای جمع‌آوری داده‌های دقیق زمان اجرا.
  • نقشه سرویس — گراف وابستگی بین میکروسرویس‌ها که به صورت خودکار بر اساس داده‌های ردیابی ساخته می‌شود.
  • امتیاز Apdex — شاخص استاندارد شده رضایت کاربر از زمان پاسخگویی برنامه.

APM در توسعه چیست

APM (Application Performance Monitoring) — رشته مدیریت عملکرد برنامه‌ها است که جمع‌آوری، تجسم و تحلیل داده‌های مربوط به عملکرد نرم‌افزار را پوشش می‌دهد. بر خلاف نظارت نقطه‌ای بر معیارهای فردی (CPU، حافظه)، APM تصویری یکپارچه ارائه می‌دهد: برنامه از دیدگاه کاربر چگونه رفتار می‌کند، اجزای آن چگونه تعامل دارند و تنگناها در کجا ایجاد می‌شوند.

مفهوم APM در دهه 2010 با انتقال از برنامه‌های یکپارچه به معماری میکروسرویس شکل گرفت. هنگامی که تعداد سرویس‌ها از 10–15 واحد فراتر رفت، روش‌های سنتی نظارت دیگر کار نکردند — تعیین اینکه کدام سرویس باعث کندی کل درخواست شده بود غیرممکن شد. راه‌حل‌های APM این مشکل را از طریق ردیابی توزیع‌شده و ساخت خودکار نقشه سرویس‌ها حل کردند.

بر اساس داده‌های Grand View Research (2024)، بازار APM به ارزش 8.2 میلیارد دلار آمریکا ارزیابی می‌شود و سالانه 11.5٪ رشد می‌کند. محرک‌های اصلی — مهاجرت به ابر، افزایش تعداد میکروسرویس‌ها و افزایش الزامات کیفیت تجربه کاربر در برنامه‌های موبایل و سرویس‌های وب است.

سه ستون APM: معیارها، ردیابی، لاگ‌ها

APM مدرن بر سه نوع داده ساخته می‌شود که با هم تصویر کاملی از وضعیت برنامه تشکیل می‌دهند. معیارها — تجمیع‌های عددی: زمان پاسخ، تعداد درخواست‌ها، درصد خطاها. آنها به سوال «چه اتفاقی می‌افتد» پاسخ می‌دهند و امکان تنظیم هشدارها بر اساس مقادیر آستانه را فراهم می‌کنند.

ردیابی به عنوان حلقه اتصال

ردیابی (ردیابی توزیع‌شده) به سوال «چرا این اتفاق می‌افتد» پاسخ می‌دهد. هر درخواست ورودی از طریق تمام میکروسرویس‌ها، پایگاه‌های داده و فراخوانی‌های خارجی ردیابی می‌شود. سیستم APM معیارها و ردیابی را ترکیب می‌کند: اگر معیار زمان پاسخ افزایش یافت، توسعه‌دهنده به داشبورد ردیابی‌ها رفته و درخواست دقیقی که باعث کندی شده را با تفکیک هر سرویس مشاهده می‌کند.

ثبت وقایع برای عمق

لاگ‌ها زمینه را فراهم می‌کنند — پیام خطای خاص، مقدار متغیر، پشته فراخوانی. پلتفرم‌های مدرن APM (Datadog, New Relic, Grafana) لاگ‌ها را با ردیابی‌ها از طریق trace_id مشترک مرتبط می‌کنند و امکان انتقال از نمودار معیار به لاگ یک درخواست خاص را فراهم می‌کنند. بر اساس داده‌های Datadog (2025)، همبستگی لاگ‌ها با ردیابی‌ها میانگین زمان تشخیص رویداد را از 45 به 12 دقیقه کاهش می‌دهد.

سیگنالسوالواحد
معیارهاچه اتفاقی می‌افتد؟تجمیع‌های عددی
ردیابیچرا این اتفاق می‌افتد؟اسپن‌ها و ردیابی‌ها
لاگ‌هادقیقاً چه چیزی اشتباه شده؟ورودی‌های متنی

معماری APM: عوامل و جمع‌کننده‌ها

معماری کلاسیک APM از سه سطح تشکیل شده است: عامل، جمع‌کننده و بک‌اند. عامل — کتابخانه‌ای است که در برنامه جاسازی می‌شود یا در کنار آن اجرا می‌شود (sidecar). عامل فراخوانی‌های ورودی و خروجی را رهگیری می‌کند، داده‌های زمان اجرا را جمع‌آوری کرده و از طریق یک کانال امن به جمع‌کننده ارسال می‌کند.

کارکرد عامل APM

عامل APM برای Java می‌تواند از طریق javaagent در سطح JVM متصل شود و به طور خودکار تمام درخواست‌های HTTP، فراخوانی‌های پایگاه داده، صف‌های پیام و APIهای خارجی را ابزارگذاری کند. برای پلتفرم‌های موبایل، عامل به عنوان SDK متصل شده و معیارها را از دستگاه جمع‌آوری می‌کند. New Relic Agent برای Android، به عنوان مثال، به طور خودکار تمام درخواست‌های شبکه را از طریق OkHttp، مشتریان HTTP و WebView ردیابی می‌کند.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

کد New Relic Agent را در برنامه Android مقداردهی اولیه می‌کند. پس از راه‌اندازی، عامل به طور خودکار معیارهای درخواست‌های شبکه، خطاها، ANR و داده‌های عملکرد UI را بدون ابزارگذاری اضافی هر صفحه جمع‌آوری می‌کند. عامل در پس‌زمینه کار می‌کند و بر عملکرد رابط اصلی برنامه تأثیر نمی‌گذارد.

جمع‌کننده و بک‌اند

جمع‌کننده داده‌ها را از هزاران عامل دریافت می‌کند، معیارها را تجمیع می‌کند، نمونه‌برداری از ردیابی‌ها را انجام می‌دهد و داده‌ها را در ذخیره‌سازی بلندمدت با قابلیت ذخیره‌سازی گرم و سرد نگهداری می‌کند. بک‌اند APM داشبوردها، هشدارها، نقشه‌های سرویس و API برای یکپارچه‌سازی با سیستم‌های خارجی (Slack, PagerDuty, Jira, ServiceNow) فراهم می‌کند. Datadog بیش از 10 میلیون نقطه داده در ثانیه را از طریق جمع‌کننده‌های خود که در 20+ منطقه جهان برای حداقل تأخیر انتقال قرار دارند، پردازش می‌کند.

امتیاز Apdex و SLA نظارت

Apdex (شاخص عملکرد برنامه) — یک استاندارد باز برای اندازه‌گیری رضایت کاربران از زمان پاسخگویی برنامه است. مقدار Apdex با فرمول محاسبه می‌شود: (تعداد کاربران راضی + تعداد کاربران مداراکننده / 2) / تعداد کل کاربران. نتیجه عددی از 0 تا 1 است که در آن 1 به معنای رضایت همه کاربران است.

آستانه‌های Apdex برای هر برنامه به صورت جداگانه تعیین می‌شود. برای برنامه‌های موبایل، آستانه معمول رضایت — زمان پاسخ تا 1.5 ثانیه، آستانه مدارا — تا 4.5 ثانیه است. هر چیزی که از 4.5 ثانیه فراتر رود، غیرقابل قبول در نظر گرفته می‌شود. امتیاز Apdex 0.94 و بالاتر برای محیط تولید عالی محسوب می‌شود.

Apdex نه تنها به عنوان معیار کیفیت، بلکه به عنوان آستانه برای هشدارها نیز استفاده می‌شود. اگر Apdex طی 10 دقیقه به زیر 0.85 برسد، سیستم APM به تیم شیفتی اعلان می‌فرستد. این رویکرد متعادل‌تری نسبت به وابستگی به مقادیر مطلق زمان پاسخ است که ممکن است بسته به زمان روز و بار کاری نوسان داشته باشد.

APM برای برنامه‌های موبایل

APM موبایل ویژگی خاص خود را دارد: برنامه روی دستگاه کاربر اجرا می‌شود که ممکن است در شرایط شبکه‌ای مختلفی باشد، حجم حافظه آزاد و نسخه سیستم عامل متفاوتی داشته باشد. Mobile APM باید همه این عوامل را در نظر گرفته و تفکیک معیارها را بر اساس مدل‌های دستگاه، نسخه‌های سیستم عامل، مناطق و اپراتورهای ارتباطی ارائه دهد.

جمع‌آوری داده از دستگاه

عوامل APM موبایل معیارها را روی دستگاه جمع‌آوری کرده و آنها را در دسته‌هایی (batch) با فاصله 1–5 دقیقه به سرور ارسال می‌کنند. این کار تأثیر بر ترافیک کاربر را به حداقل می‌رساند. در صورت قطع اتصال، داده‌ها در حافظه نهان محلی ذخیره شده و در اتصال بعدی ارسال می‌شوند. Firebase Performance و Dynatrace Mobile از بازارسال خودکار در صورت قطع شبکه پشتیبانی می‌کنند.

معیارهای کلیدی موبایل

به معیارهای استاندارد APM در توسعه موبایل معیارهای خاص اضافه می‌شود: زمان شروع سرد، FPS هنگام اسکرول، حجم حافظه مصرفی، فراوانی ANR (Android) و تعداد خاتمه‌های watchdog (iOS). New Relic Mobile علاوه بر این map views، درصد استفاده از حافظه نهان و زمان رندر ViewControllerهای خاص را ردیابی می‌کند.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

کد در Swift یک ردیابی تعامل برای صفحه نمایه کاربر ایجاد می‌کند. New Relic به طور خودکار زمان بارگذاری داده، رندر UI و تمام درخواست‌های شبکه انجام شده در هنگام نمایش این صفحه را اندازه‌گیری می‌کند.

مقایسه پلتفرم‌های محبوب APM

بازار APM با ده‌ها راه‌حل متفاوت از نظر عمق نظارت، هزینه و پلتفرم‌های پشتیبانی‌شده نمایندگی می‌شود. Datadog APM از نظر یکپارچه‌سازی معیارها، ردیابی‌ها و لاگ‌ها در یک رابط واحد پیشرو است. New Relic دقیق‌ترین ردیابی را برای پلتفرم‌های موبایل ارائه می‌دهد. Dynatrace از موتور هوش مصنوعی Davis برای تشخیص خودکار علل ریشه مشکلات استفاده می‌کند.

پلتفرمعامل موبایلردیابی توزیع‌شدهطرح رایگان
DatadogiOS، Androidبلهخیر
New ReliciOS، Androidبله100 GB/ماه
DynatraceiOS، Androidبله15 روز
Grafanaاز طریق OpenTelemetryبلهبله (OSS)

انتخاب پلتفرم APM به اندازه تیم، پشته فناوری و بودجه بستگی دارد. برای استارتاپ‌ها Firebase Performance همراه با Grafana برای بک‌اند بهینه است. برای پروژه‌های enterprise با الزامات بالای SLA — Datadog یا Dynatrace با مجموعه کامل ابزارهای مشاهده‌پذیری و پشتیبانی از تحلیل هوش مصنوعی علل ریشه رویدادها.

سوالات متداول

APM چه تفاوتی با نظارت معمولی سرور دارد؟

نظارت معمولی معیارهای زیرساختی را ردیابی می‌کند: CPU، حافظه، دیسک. APM به سطح برنامه نگاه می‌کند: زمان اجرای تراکنش‌های خاص، پرس‌وجوهای SQL، فراخوانی‌های HTTP بین میکروسرویس‌ها. APM می‌تواند نشان دهد که CPU نرمال است اما برنامه به دلیل یک پرس‌وجوی کند به پایگاه داده کند شده است.

آیا برای یک میکروسرویس به APM نیاز است؟

برای یک سرویس، نظارت استاندارد + ثبت وقایع برای پوشش پایه کافی است. APM زمانی ضروری می‌شود که تعداد سرویس‌ها 5 یا بیشتر باشد و درخواست در یک سناریوی کاربری از چندین سرویس عبور کند. APM پاسخ می‌دهد که کدام سرویس کل جریان درخواست را کند کرده و تنگنا کجاست.

APM چگونه بر هزینه زیرساخت تأثیر می‌گذارد؟

عوامل APM 1–3٪ CPU و 50–200 MB حافظه روی سرور مصرف می‌کنند. هزینه مجوزها از 15 تا 80 دلار به ازای هر میزبان در ماه متغیر است. ترافیک تله‌متری بسته به شدت ردیابی 1–10 GB در روز به ازای هر میزبان است. OpenTelemetry + Grafana — جایگزین رایگان برای APM تجاری.

آیا می‌توان از APM برای برنامه موبایل بدون بک‌اند استفاده کرد؟

بله، عوامل APM موبایل به صورت مستقل کار می‌کنند. آنها حتی اگر برنامه بخش سروری نداشته باشد، معیارها را روی دستگاه جمع‌آوری می‌کنند: زمان شروع، FPS، کرش‌ها، درخواست‌های شبکه به APIهای خارجی. داده‌ها زمانی که دستگاه به اینترنت متصل می‌شود به پلتفرم APM ارسال می‌شوند.

چند وقت یکبار باید پیکربندی APM به‌روزرسانی شود؟

پیکربندی پایه APM (آستانه‌ها، داشبوردها، هشدارها) یک بار تنظیم می‌شود و هنگام تغییر معماری یا بنچمارک‌های عملکرد اصلاح می‌گردد. پیکربندی عامل به طور خودکار از طریق پنل مدیریت پلتفرم APM بدون نیاز به انتشار مجدد برنامه یا تغییر کد به‌روز می‌شود.

خلاصه

  • APM — راه‌حل جامع برای نظارت بر عملکرد برنامه‌ها که معیارها، ردیابی و لاگ‌ها را ترکیب می‌کند.
  • ردیابی توزیع‌شده — تفاوت کلیدی APM با نظارت کلاسیک که امکان ردیابی مسیر درخواست را از طریق تمام میکروسرویس‌ها فراهم می‌کند.
  • عوامل APM در برنامه جاسازی شده و به طور خودکار داده‌های زمان اجرا، درخواست‌های HTTP و فراخوانی‌های پایگاه داده را جمع‌آوری می‌کنند.
  • امتیاز Apdex — معیار استاندارد شده رضایت کاربر که بر اساس آستانه‌های زمان پاسخ محاسبه می‌شود.
  • Mobile APM ویژگی خاص دستگاه‌ها را در نظر می‌گیرد: شروع سرد، FPS، ANR، شرایط شبکه و نسخه‌های سیستم عامل.
  • OpenTelemetry امکان ساخت سیستم APM بدون وابستگی به فروشنده را با استفاده از استاندارد باز جمع‌آوری داده فراهم می‌کند.
  • انتخاب پلتفرم APM با مقیاس پروژه تعیین می‌شود: Firebase برای استارتاپ‌ها، Datadog یا Dynatrace برای معماری‌های enterprise با الزامات بالای مشاهده‌پذیری.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید