APM: định nghĩa, các chỉ số và cách hoạt động

Tác giả: IT Sectr Đã đăng: 2026-05-29 Thời gian đọc: 8 phút

APM (Application Performance Monitoring) là một phương pháp toàn diện để giám sát hiệu suất phần mềm, bao gồm thu thập chỉ số, theo dõi yêu cầu và chẩn đoán lỗi theo thời gian thực. Theo Gartner IT Glossary, 2024, APM kết hợp ba lĩnh vực chính: giám sát trải nghiệm người dùng, phát hiện lỗi trong kiến trúc ứng dụng và phân tích dữ liệu thực thi để chẩn đoán sự cố chuyên sâu.

Những điểm chính

  • APM — Application Performance Monitoring, hệ thống quan sát hiệu suất ứng dụng ở mọi cấp độ: máy khách, mạng, máy chủ, cơ sở hạ tầng.
  • Ba trụ cột của APM — chỉ số, theo dõi và nhật ký, được hợp nhất trong một nền tảng quan sát duy nhất để phân tích sự cố đầu-cuối.
  • APM dựa trên tác nhân — cài đặt một tác nhân phần mềm trên máy chủ ứng dụng để thu thập dữ liệu thời gian chạy chi tiết.
  • Bản đồ dịch vụ — đồ thị phụ thuộc giữa các microservice, được xây dựng tự động từ dữ liệu theo dõi.
  • Điểm Apdex — thước đo tiêu chuẩn hóa về sự hài lòng của người dùng với thời gian phản hồi của ứng dụng.

APM trong phát triển là gì

APM (Application Performance Monitoring) là lĩnh vực quản lý hiệu suất ứng dụng, bao gồm thu thập, trực quan hóa và phân tích dữ liệu vận hành phần mềm. Khác với giám sát điểm của các chỉ số riêng lẻ (CPU, bộ nhớ), APM cung cấp một bức tranh toàn diện: ứng dụng hoạt động như thế nào từ góc nhìn người dùng, các thành phần tương tác ra sao và nơi xảy ra tắc nghẽn.

Khái niệm APM xuất hiện vào những năm 2010 với sự chuyển đổi từ ứng dụng nguyên khối sang kiến trúc microservice. Khi số lượng dịch vụ vượt quá 10–15 đơn vị, các phương pháp giám sát truyền thống không còn hiệu quả — không thể xác định dịch vụ cụ thể nào gây ra sự chậm lại của toàn bộ yêu cầu. Các giải pháp APM đã giải quyết vấn đề này thông qua theo dõi phân tán và xây dựng bản đồ dịch vụ tự động.

Theo Grand View Research (2024), thị trường APM được định giá ở mức 8,2 tỷ đô la Mỹ và tăng trưởng 11,5% hàng năm. Các động lực chính bao gồm di chuyển lên đám mây, số lượng microservice ngày càng tăng và yêu cầu ngày càng cao về chất lượng trải nghiệm người dùng trong các ứng dụng di động và dịch vụ web.

Ba trụ cột của APM: chỉ số, theo dõi, nhật ký

APM hiện đại được xây dựng trên ba loại dữ liệu, cùng nhau tạo thành bức tranh đầy đủ về trạng thái ứng dụng. Chỉ số là các tổng hợp số: thời gian phản hồi, số lượng yêu cầu, tỷ lệ lỗi. Chúng trả lời câu hỏi “chuyện gì đang xảy ra” và cho phép cấu hình cảnh báo dựa trên các giá trị ngưỡng.

Theo dõi như mắt xích kết nối

Theo dõi (theo dõi phân tán) trả lời câu hỏi “tại sao điều này đang xảy ra.” Mỗi yêu cầu đến được theo dõi qua tất cả các microservice, cơ sở dữ liệu và cuộc gọi bên ngoài. Hệ thống APM kết hợp chỉ số và theo dõi: nếu chỉ số thời gian phản hồi tăng, nhà phát triển chuyển đến bảng điều khiển theo dõi và thấy yêu cầu chính xác đã gây ra sự chậm lại, được phân tách theo từng dịch vụ.

Nhật ký để có chiều sâu

Nhật ký cung cấp bối cảnh — một thông báo lỗi cụ thể, giá trị biến, ngăn xếp cuộc gọi. Các nền tảng APM hiện đại (Datadog, New Relic, Grafana) liên kết nhật ký với các lần theo dõi thông qua một trace_id chung, cho phép điều hướng từ biểu đồ chỉ số đến nhật ký của một yêu cầu cụ thể. Theo Datadog (2025), việc tương quan nhật ký với các lần theo dõi giúp giảm thời gian chẩn đoán sự cố trung bình từ 45 phút xuống còn 12 phút.

Tín hiệuCâu hỏiĐơn vị
Chỉ sốChuyện gì đang xảy ra?Tổng hợp số
Theo dõiTại sao điều này đang xảy ra?Spans và traces
Nhật kýChính xác thì điều gì đã sai?Bản ghi văn bản

Kiến trúc APM: tác nhân và bộ thu thập

Kiến trúc APM cổ điển bao gồm ba cấp độ: tác nhân, bộ thu thập và backend. Tác nhân là một thư viện được nhúng vào ứng dụng hoặc chạy bên cạnh nó (sidecar). Tác nhân chặn các cuộc gọi đến và đi, thu thập dữ liệu thời gian chạy và gửi chúng đến bộ thu thập qua một kênh bảo mật.

Cách tác nhân APM hoạt động

Một tác nhân APM cho Java có thể kết nối qua javaagent ở cấp độ JVM, tự động instrument tất cả các yêu cầu HTTP, cuộc gọi cơ sở dữ liệu, hàng đợi tin nhắn và API bên ngoài. Đối với nền tảng di động, tác nhân kết nối như một SDK và thu thập chỉ số từ thiết bị. Tác nhân New Relic cho Android, ví dụ, tự động theo dõi tất cả các yêu cầu mạng qua OkHttp, các trình khách HTTP và WebView.

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

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

Mã này khởi tạo Tác nhân New Relic trong một ứng dụng Android. Sau khi khởi chạy, tác nhân tự động thu thập chỉ số yêu cầu mạng, lỗi, ANR và dữ liệu hiệu suất UI mà không cần instrument bổ sung cho từng màn hình. Tác nhân chạy trong một luồng nền và không ảnh hưởng đến hiệu suất của giao diện ứng dụng chính.

Bộ thu thập và Backend

Bộ thu thập nhận dữ liệu từ hàng ngàn tác nhân, tổng hợp các chỉ số, thực hiện lấy mẫu theo dõi và lưu trữ dữ liệu trong bộ lưu trữ dài hạn với khả năng lưu trữ nóng và lạnh. Backend APM cung cấp bảng điều khiển, cảnh báo, bản đồ dịch vụ và API để tích hợp với các hệ thống bên ngoài (Slack, PagerDuty, Jira, ServiceNow). Datadog xử lý hơn 10 triệu điểm dữ liệu mỗi giây thông qua các bộ thu thập của mình, đặt tại hơn 20 khu vực trên thế giới để có độ trễ truyền tối thiểu.

Điểm Apdex và giám sát SLA

Apdex (Application Performance Index) là một tiêu chuẩn mở để đo lường sự hài lòng của người dùng với thời gian phản hồi của ứng dụng. Giá trị Apdex được tính bằng công thức: (số lượng người dùng hài lòng + số lượng người dùng chấp nhận / 2) / tổng số người dùng. Kết quả là một số từ 0 đến 1, trong đó 1 có nghĩa là tất cả người dùng đều hài lòng.

Các ngưỡng Apdex được đặt riêng cho từng ứng dụng. Đối với ứng dụng di động, ngưỡng hài lòng điển hình là thời gian phản hồi lên đến 1,5 giây, chấp nhận được lên đến 4,5 giây. Bất kỳ điều gì vượt quá 4,5 giây đều được coi là không thể chấp nhận. Điểm Apdex từ 0,94 trở lên được coi là xuất sắc đối với môi trường sản xuất.

Apdex không chỉ được sử dụng như một chỉ số chất lượng mà còn là ngưỡng cho các cảnh báo. Nếu Apdex giảm xuống dưới 0,85 trong 10 phút, hệ thống APM sẽ gửi thông báo cho nhóm trực. Đây là một cách tiếp cận cân bằng hơn so với việc dựa vào các giá trị tuyệt đối của thời gian phản hồi, vốn có thể dao động tùy theo thời gian trong ngày và tải.

APM cho ứng dụng di động

APM di động có những đặc thù riêng: ứng dụng chạy trên thiết bị của người dùng, có thể ở các điều kiện mạng khác nhau, có dung lượng bộ nhớ trống và phiên bản HĐ khác nhau. APM di động phải tính đến tất cả các yếu tố này và cung cấp sự phân tách chỉ số theo mô hình thiết bị, phiên bản HĐ, khu vực và nhà mạng.

Thu thập dữ liệu từ thiết bị

Các tác nhân APM di động thu thập chỉ số trên thiết bị và gửi chúng đến máy chủ theo lô với khoảng thời gian 1–5 phút. Điều này giảm thiểu tác động đến lưu lượng của người dùng. Trong trường hợp mất kết nối, dữ liệu được lưu trong bộ nhớ đệm cục bộ và được gửi khi kết nối lần tiếp theo. Firebase PerformanceDynatrace Mobile hỗ trợ tự động truyền lại khi mất mạng.

Các chỉ số di động chính

Các chỉ số cụ thể được thêm vào các chỉ số APM tiêu chuẩn trong phát triển di động: thời gian khởi động nguội, FPS khi cuộn, mức tiêu thụ bộ nhớ, tần suất ANR (Android) và số lượng kết thúc watchdog (iOS). New Relic Mobile theo dõi thêm các chế độ xem bản đồ, tỷ lệ sử dụng bộ nhớ đệm và thời gian kết xuất của các ViewController cụ thể.

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()
    }
}

Mã Swift tạo một lần theo dõi tương tác cho màn hình hồ sơ người dùng. New Relic sẽ tự động đo thời gian tải dữ liệu, kết xuất UI và tất cả các yêu cầu mạng được thực hiện trong khi màn hình này được hiển thị.

So sánh các nền tảng APM phổ biến

Thị trường APM có hàng chục giải pháp khác nhau về độ sâu giám sát, chi phí và các nền tảng được hỗ trợ. Datadog APM dẫn đầu trong việc tích hợp các chỉ số, lần theo dõi và nhật ký trong một giao diện duy nhất. New Relic cung cấp khả năng theo dõi chi tiết nhất cho các nền tảng di động. Dynatrace sử dụng công cụ AI Davis để tự động phát hiện nguyên nhân gốc rễ.

Nền tảngTác nhân di độngTheo dõi phân tánGói miễn phí
DatadogiOS, AndroidKhông
New ReliciOS, Android100 GB/tháng
DynatraceiOS, Android15 ngày
GrafanaQua OpenTelemetryCó (OSS)

Việc lựa chọn nền tảng APM phụ thuộc vào quy mô nhóm, công nghệ và ngân sách. Đối với startup, Firebase Performance kết hợp với Grafana cho backend là tối ưu. Đối với các dự án doanh nghiệp có yêu cầu SLA cao — Datadog hoặc Dynatrace với bộ đầy đủ các công cụ quan sát và phân tích nguyên nhân gốc rễ bằng AI.

Các câu hỏi thường gặp

APM khác gì so với giám sát máy chủ thông thường?

Giám sát thông thường theo dõi các chỉ số cơ sở hạ tầng: CPU, bộ nhớ, đĩa. APM quan sát ở cấp độ ứng dụng: thời gian thực thi các giao dịch cụ thể, truy vấn SQL, các cuộc gọi HTTP giữa các microservice. APM có thể cho thấy CPU bình thường, nhưng ứng dụng chậm do một truy vấn cơ sở dữ liệu chậm.

Có cần APM cho một microservice không?

Đối với một dịch vụ duy nhất, giám sát tiêu chuẩn + nhật ký là đủ để có vùng phủ cơ bản. APM trở nên cần thiết khi có 5 dịch vụ trở lên và một yêu cầu đi qua nhiều dịch vụ trong một kịch bản người dùng duy nhất. APM cho biết dịch vụ cụ thể nào đang làm chậm toàn bộ luồng yêu cầu và nơi xảy ra tắc nghẽn.

APM ảnh hưởng đến chi phí cơ sở hạ tầng như thế nào?

Các tác nhân APM tiêu thụ 1–3% CPU và 50–200 MB bộ nhớ trên mỗi máy chủ. Chi phí bản quyền dao động từ 15 đến 80 đô la cho mỗi host mỗi tháng. Lưu lượng telemetry là 1–10 GB mỗi ngày cho mỗi host, tùy thuộc vào cường độ theo dõi. OpenTelemetry + Grafana là một giải pháp thay thế miễn phí cho APM thương mại.

Có thể sử dụng APM cho ứng dụng di động không có backend không?

Có, các tác nhân APM di động hoạt động độc lập. Chúng thu thập chỉ số trên thiết bị ngay cả khi ứng dụng không có phía máy chủ: thời gian khởi động, FPS, sự cố, các yêu cầu mạng đến API bên thứ ba. Dữ liệu được gửi đến nền tảng APM khi thiết bị kết nối internet.

Cần cập nhật cấu hình APM bao lâu một lần?

Cấu hình APM cơ bản (ngưỡng, bảng điều khiển, cảnh báo) được thiết lập một lần và điều chỉnh khi kiến trúc thay đổi hoặc các điểm chuẩn hiệu suất được cập nhật. Cấu hình tác nhân được cập nhật tự động thông qua bảng điều khiển của nền tảng APM mà không cần phát hành lại ứng dụng hoặc sửa đổi mã.

Tổng kết

  • APM là một giải pháp giám sát hiệu suất ứng dụng toàn diện kết hợp các chỉ số, theo dõi và nhật ký.
  • Theo dõi phân tán là sự khác biệt chính giữa APM và giám sát cổ điển, cho phép theo dõi đường đi của yêu cầu qua tất cả các microservice.
  • Các tác nhân APM được nhúng vào ứng dụng và tự động thu thập dữ liệu thời gian chạy, yêu cầu HTTP và cuộc gọi cơ sở dữ liệu.
  • Điểm Apdex là một chỉ số hài lòng của người dùng được tiêu chuẩn hóa, được tính toán dựa trên các ngưỡng thời gian phản hồi.
  • APM di động tính đến các đặc điểm của thiết bị: khởi động nguội, FPS, ANR, điều kiện mạng và phiên bản HĐ.
  • OpenTelemetry cho phép xây dựng hệ thống APM mà không bị phụ thuộc vào nhà cung cấp, sử dụng tiêu chuẩn thu thập dữ liệu mở.
  • Việc lựa chọn nền tảng APM được xác định bởi quy mô dự án: Firebase cho startup, Datadog hoặc Dynatrace cho các kiến trúc doanh nghiệp với yêu cầu quan sát cao.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm