APM (Application Performance Monitoring) คือแนวทางที่ครอบคลุมสำหรับการติดตามประสิทธิภาพของซอฟต์แวร์ รวมถึงการรวบรวมเมตริก การตรวจสอบคำขอ และการวินิจฉัยปัญหาแบบเรียลไทม์ ตามข้อมูลจาก Gartner IT Glossary, 2024, APM รวมสามด้านหลัก: การติดตามประสบการณ์ผู้ใช้ การตรวจจับความผิดพลาดในสถาปัตยกรรมแอปพลิเคชัน และการวิเคราะห์ข้อมูลการทำงานสำหรับการวินิจฉัยเหตุการณ์แบบลึกซึ้ง
หัวข้อสำคัญ
APM (Application Performance Monitoring) คือสาขาการจัดการประสิทธิภาพแอปพลิเคชันซึ่งครอบคลุมการรวบรวมการแสดงผลและการวิเคราะห์ข้อมูลการทำงานของซอฟต์แวร์ ต่างจากการติดตามแบบจุดๆของเมตริกแต่ละตัว (CPU หน่วยความจำ) APM ให้ภาพรวมแบบองค์รวม: แอปพลิเคชันประพฤติตัวอย่างไรจากมุมมองของผู้ใช้ส่วนประกอบต่างๆมีปฏิสัมพันธ์กันอย่างไรและจุดคับขวางเกิดขึ้นที่ไหน
แนวคิด APM เกิดขึ้นในทศวรรษปี 2010 ด้วยการเปลี่ยนแปลงจากแอปพลิเคชันแบบเดี่ยวไปสู่สถาปัตยกรรมไมโครเซอร์วิส เมื่อจำนวนบริการเกิน 10–15 หน่วยวิธีการติดตามแบบดั้งเดิมไม่สามารถทำงานได้ — ไม่สามารถระบุได้ว่าบริการใดที่เฉพาะเจาะจงทำให้คำขอทั้งหมดช้าลง โซลูชัน APM แก้ไขปัญหานี้โดยการตรวจสอบแบบกระจายและการสร้างแผนที่บริการโดยอัตโนมัติ
ตามข้อมูลจาก Grand View Research (2024) ตลาด APM มีมูลค่า 8.2 พันล้านดอลลาร์สหรัฐและเติบโต 11.5% ต่อปี ปัจจัยหลักได้แก่การย้ายสู่คลาวด์จำนวนไมโครเซอร์วิสที่เพิ่มขึ้นและความต้องการด้านคุณภาพประสบการณ์ผู้ใช้ที่เพิ่มขึ้นในแอปพลิเคชันมือถือและบริการเว็บ
APM สมัยใหม่สร้างบนข้อมูลสามประเภทที่ร่วมกันเป็นภาพที่สมบูรณ์ของสถานะแอปพลิเคชัน เมตริกคือการรวมตัวเลข: เวลาตอบสนองจำนวนคำขออัตราข้อผิดพลาด สิ่งเหล่านี้ตอบคำถามว่า "กำลังเกิดอะไรขึ้น" และอนุญาตให้กำหนดค่าเกณฑ์สำหรับการแจ้งเตือน
การตรวจสอบ (distributed tracing) ตอบคำถามว่า "ทำไมสิ่งนี้จึงเกิดขึ้น" แต่ละคำขอขาเข้าจะถูกตรวจสอบผ่านไมโครเซอร์วิสฐานข้อมูลและการเรียกภายนอกทั้งหมด ระบบ APM รวมเมตริกและการตรวจสอบเข้าด้วยกัน: หากเมตริกเวลาตอบสนองเพิ่มขึ้นนักพัฒนาจะไปที่แดชบอร์ดของการตรวจสอบและเห็นคำขอที่แน่นอนที่ทำให้เกิดความช้าพร้อมการแยกรายละเอียดตามแต่ละบริการ
บันทึกให้บริบท—ข้อความผิดพลาดเฉพาะเจาะจงค่าตัวแปรสแตกการเรียกฟังก์ชัน แพลตฟอร์ม APM สมัยใหม่ (Datadog, New Relic, Grafana) เชื่อมโยงบันทึกกับการตรวจสอบผ่าน trace_id ที่ใช้ร่วมกันทำให้สามารถเลื่อนจากกราฟเมตริกไปยังบันทึกของคำขอเฉพาะ ตามข้อมูลจาก Datadog (2025) การเชื่อมโยงบันทึกกับการตรวจสอบช่วยลดเวลาวินิจฉัยเหตุการณ์โดยเฉลี่ยจาก 45 นาทีเป็น 12 นาที
| สัญญาณ | คำถาม | หน่วย |
|---|---|---|
| เมตริก | กำลังเกิดอะไรขึ้น? | การรวมตัวเลข |
| การตรวจสอบ | ทำไมสิ่งนี้จึงเกิดขึ้น? | Spans และ traces |
| บันทึก | อะไรผิดพลาดไป? | ข้อมูลข้อความ |
สถาปัตยกรรม APM แบบดั้งเดิมประกอบด้วยสามระดับ: อิงเจนต์ตัวรวบรวมและแบ็กเอนด์ อิงเจนต์คือไลบรารีที่ใส่ไว้ในแอปพลิเคชันหรือทำงานเคียงข้าง (sidecar) อิงเจนต์จะสกัดกั้นการเรียกขาเข้าและขาออกรวบรวมข้อมูลระยะเวลาทำงานและส่งไปยังตัวรวบรวมผ่านช่องทางที่ปลอดภัย
อิงเจนต์ APM สำหรับ Java สามารถเชื่อมต่อผ่าน javaagent ในระดับ JVM โดยการตั้งเครื่องมือแอปพลิเคชันโดยอัตโนมัติสำหรับคำขอ HTTP ทั้งหมดการเรียกฐานข้อมูลคิวข้อความและ API ภายนอก สำหรับแพลตฟอร์มมือถืออิงเจนต์จะเชื่อมต่อเป็น SDK และรวบรวมเมตริกจากอุปกรณ์ New Relic Agent สำหรับ Android ตัวอย่างเช่นติดตามคำขอเครือข่ายทั้งหมดโดยอัตโนมัติผ่าน OkHttp, HTTP และ WebView
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 (Application Performance Index) คือมาตรฐานแบบเปิดสำหรับการวัดความพึงพอใจของผู้ใช้ต่อเวลาตอบสนองของแอปพลิเคชัน ค่า Apdex คำนวณโดยใช้สูตร: (จำนวนผู้ใช้ที่พึงพอใจ + จำนวนผู้ใช้ที่ยอมรับ / 2) / จำนวนผู้ใช้ทั้งหมด ผลลัพธ์เป็นตัวเลขตั้งแต่ 0 ถึง 1 โดย 1 หมายถึงผู้ใช้ทั้งหมดพึงพอใจ
เกณฑ์ Apdex ถูกกำหนดแบบแต่ละอย่างสำหรับแต่ละแอปพลิเคชัน สำหรับแอปพลิเคชันมือถือเกณฑ์ความพึงพอใจทั่วไปคือเวลาตอบสนองถึง 1.5 วินาทียอมรับได้ถึง 4.5 วินาที สิ่งใดที่เกิน 4.5 วินาทีถือว่ายอมรับไม่ได้ คะแนน Apdex 0.94 ขึ้นไปถือว่ายอดเยี่ยมสำหรับสภาพแวดล้อมการผลิต
Apdex ไม่ได้ใช้เพียงเป็นเมตริกคุณภาพแต่ยังใช้เป็นเกณฑ์สำหรับการแจ้งเตือน หาก Apdex ลดลงต่ำกว่า 0.85 เป็นเวลา 10 นาทีระบบ APM จะส่งการแจ้งเตือนไปยังทีมประจำการ นี่เป็นแนวทางที่สมดุลกว่าการพึ่งพาค่าสมบูรณ์ของเวลาตอบสนองซึ่งสามารถผันผวนได้ขึ้นอยู่กับเวลาของวันและภาระ
APM บนมือถือมีลักษณะเฉพาะของตัวเอง: แอปพลิเคชันทำงานบนอุปกรณ์ของผู้ใช้ซึ่งอาจอยู่ในสภาพแวดล้อมเครือข่ายที่แตกต่างกันมีหน่วยความจำว่างและเวอร์ชัน OS ที่แตกต่างกัน Mobile APM ต้องคำนึงถึงปัจจัยทั้งหมดนี้และให้การแยกแจงเมตริกตามรุ่นอุปกรณ์เวอร์ชัน OS ภูมิภาคและผู้ให้บริการเครือข่าย
อิงเจนต์ APM บนมือถือจะรวบรวมเมตริกบนอุปกรณ์และส่งไปยังเซิร์ฟเวอร์เป็นชุดทุกๆ 1–5 นาที ซึ่งช่วยลดผลกระทบต่อปริมาณของผู้ใช้ ในกรณีที่สูญเสียการเชื่อมต่อข้อมูลจะถูกเก็บไว้ในแคชภายในเครื่องและส่งในการเชื่อมต่อครั้งต่อไป Firebase Performance และ Dynatrace Mobile รองรับการส่งต่ออัตโนมัติในกรณีเสียเครือข่าย
เมตริกเฉพาะจะถูกเพิ่มเข้าไปในเมตริก APM มาตรฐานในการพัฒนาบนมือถือ: เวลาเริ่มต้นแบบเย็น FPS ขณะเลื่อนปริมาณหน่วยความจำที่ใช้ความถี่ ANR (Android) และจำนวนการสิ้นสุดแบบ watchdog (iOS) New Relic Mobile ติดตามเพิ่มเติมมุมมองแผนที่เปอร์เซ็นต์การใช้แคชและเวลาเรนเดอร์ของ ViewController เฉพาะ
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 สร้าง interaction trace สำหรับหน้าโปรไฟล์ผู้ใช้ New Relic จะวัดเวลาโหลดข้อมูลการเรนเดอร์ UI และคำขอเครือข่ายทั้งหมดที่ดำเนินการในระหว่างการแสดงหน้านี้โดยอัตโนมัติ
ตลาด APM มีโซลูชันมากมายซึ่งแตกต่างกันในด้านความลึกของการติดตามต้นทุนและแพลตฟอร์มที่รองรับ Datadog APM เป็นผู้นำในการผนวกรวมเมตริกการตรวจสอบและบันทึกในอินเทอร์เฟซเดียว New Relic ให้การตรวจสอบที่มีรายละเอียดมากที่สุดสำหรับแพลตฟอร์มมือถือ Dynatrace ใช้เครื่อง AI Davis สำหรับการตรวจจับสาเหตุที่แท้จริงโดยอัตโนมัติ
| แพลตฟอร์ม | อิงเจนต์บนมือถือ | การตรวจสอบแบบกระจาย | แผนฟรี |
|---|---|---|---|
| Datadog | iOS, Android | ใช่ | ไม่ |
| New Relic | iOS, Android | ใช่ | 100 GB/เดือน |
| Dynatrace | iOS, Android | ใช่ | 15 วัน |
| Grafana | ผ่าน OpenTelemetry | ใช่ | ใช่ (OSS) |
การเลือกแพลตฟอร์ม APM ขึ้นอยู่กับขนาดทีมสไตล์เทคโนโลยีและงบประมาณ สำหรับสตาร์ทอัพ Firebase Performance ร่วมกับ Grafana สำหรับแบ็กเอนด์เป็นทางเลือกที่ดีที่สุด สำหรับโปรเจคระดับองค์กรที่มีข้อกำหนด SLA สูง — Datadog หรือ Dynatrace พร้อมชุดเครื่องมือการสังเกตการณ์ที่ครบถ้วนและการวิเคราะห์สาเหตุที่แท้จริงด้วย AI
คำถามที่พบบ่อย
การติดตามธรรมดาติดตามเมตริกโครงสร้างพื้นฐาน: CPU หน่วยความจำแผ่นดิสก์ APM มองที่ระดับแอปพลิเคชัน: เวลาทำงานของธุระกรรมเฉพาะคำสั่ง SQL การเรียก HTTP ระหว่างไมโครเซอร์วิส APM สามารถแสดงได้ว่า CPU ปกติแต่แอปพลิเคชันช้าเนื่องจากคำสั่งฐานข้อมูลที่ช้า
สำหรับบริการเดียวการติดตามมาตรฐาน + การบันทึกก็เพียงพอสำหรับความคุ้มครองพื้นฐาน APM กลายเป็นสิ่งจำเป็นเมื่อมี 5 บริการหรือมากกว่านั้นและคำขอผ่านหลายบริการในสถานการณ์ผู้ใช้เดียว APM ให้คำตอบว่าบริการใดที่เฉพาะเจาะจงทำให้กระแสคำขอทั้งหมดช้าและจุดคับขวางอยู่ที่ไหน
อิงเจนต์ APM ใช้ 1–3% CPU และ 50–200 MB หน่วยความจำต่อเซิร์ฟเวอร์ ต้นทุนใบอนุญาตตั้งแต่ 15 ถึง 80 ดอลลาร์ต่อโฮสต์ต่อเดือน ปริมาณการจราจรโทเลเมตรีอยู่ที่ 1–10 GB ต่อวันต่อโฮสต์ขึ้นอยู่กับความเข้มของการตรวจสอบ OpenTelemetry + Grafana เป็นทางเลือกฟรีสำหรับ APM เชิงพาณิชย์
ใช่ อิงเจนต์ APM บนมือถือทำงานอัตโนมัติ พวกเขารวบรวมเมตริกบนอุปกรณ์แม้ว่าแอปพลิเคชันไม่มีส่วนเซิร์ฟเวอร์: เวลาเริ่มต้น FPS ความผิดพลาด คำขอเครือข่ายไปยัง API ภายนอก ข้อมูลจะถูกส่งไปยังแพลตฟอร์ม APM เมื่ออุปกรณ์เชื่อมต่ออินเทอร์เน็ต
การกำหนดค่า APM พื้นฐาน (เกณฑ์ แดชบอร์ด การแจ้งเตือน) ถูกตั้งค่าครั้งเดียวและปรับเมื่อสถาปัตยกรรมเปลี่ยนแปลงหรือเกณฑ์มาตรฐานประสิทธิภาพถูกอัปเดต การกำหนดค่าอิงเจนต์ถูกอัปเดตโดยอัตโนมัติผ่านแผงควบคุมของแพลตฟอร์ม APM โดยไม่ต้องเผยแพร่แอปพลิเคชันใหม่หรือปรับเปลี่ยนโค้ด
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม