APM 101 ทำความรู้จักกับ Application Performance Management

0
206

APM หรือ Application Performance Management คือชื่อเรียกของอุปกรณ์ที่บริหารจัดการและ monitor การทำงานของแอปพลิเคชั่นได้ในระดับ code, application dependencies, เวลาที่ใช้ในการ transaction และภาพรวมของ user experience

APM แบ่งออกได้เป็น 3 ประเภทดังต่อไปนี้:

  1. App Metrics based – เป็นเครื่องมือที่ช่วยให้ผู้ดูแลระบบรู้ว่าแอปฯ ได้รับ request ทั้งหมดกี่ครั้ง และ url ไหนที่น่าจะทำงานได้ช้า แต่ App metric ยังไม่สามารถบอกต้นเหตุของปัญหาการทำงานที่ช้าได้ เพราะยังไม่ได้ monitor ลงไปถึงระดับ code
  2. Code level performance นี่คือ APM ทั่วๆ ไปที่ใช้กันในองค์กร APM ประเภทนี้จะทำ code profiling และติดตาม transaction ต่างๆ เพื่อดูสาเหตุของปัญหาด้าน performance ในระดับลึกที่สุด (ซึ่งก็คือ coding) ผลิตภัณฑ์ APM เหล่านั้นก็อย่างเช่น Stackify Retrace, New Relic, AppDynamics และ Dynatrace
  3. Network based – APM ประเภทนี้จะประเมินการทำงานของแอปพลิเคชั่นจาก network traffic ต่างๆ APM ประเภทนี้จะมีชื่อเรียกอีกอย่างว่า NPM หรือ Network Performance Management อย่างเช่นผลิตภัณฑ์ของ Extrahop เป็นต้น

— ความเข้าใจผิดเรื่อง Monitoring —

หลายๆ องค์กรอาจเข้าใจว่าการดู server metric หรือ application metric ก็เพียงพออยู่แล้ว แค่เห็นเวลาที่ CPU ใช้ในการตอบสนอง webserver ก็ช่วยให้ผู้ดูแลระบบเข้าใจภาพรวมของปัญหาได้อยู่แล้ว

ข้อมูลนั้นถูกต้อง แต่ก็ไม่ถูกต้องทั้งหมด

[เพราะการใช้ APM นั้นไม่ได้มีจุดประสงค์แค่รู้ว่าเกิดปัญหาอะไร แต่อยู่ที่ “ทำไมปัญหานี้ถึงเกิดขึ้น” ต่างหาก]

การใช้ APM ที่ไม่สามารถ monitor ได้ถึงระดับ code นั้น ทำให้ผู้ดูแลระบบ ต้องเข้าไปดู access logs และไปเช็คว่า web request ต่างๆ นั้นใช้เวลาเท่าไหร่ นอกจากจะเสียเวลาแล้ว ยังรู้ได้แค่เพียงว่าปัญหาที่เกิดขึ้นมีอไรบ้าง เช่น performance นั้นช้า หรือมี transaction ที่ล้มเหลว แต่มันไม่ตอบโจทย์ว่าต้นตอของปัญหาอยู่ตรงไหน

แต่ถ้าใช้ APM ที่เป็น Code level performance เมื่อผู้ดูแลระบบเห็นกราฟการทำงานที่เส้นกราฟพุ่งสูงขึ้นผิดปกติ (performance spike) เขาสามารถใช้ APM เพื่อดูว่า database query หรือ web request ใดที่มีปัญหาได้ทันที เพราะ APM แบบ Code level performance จะทำหน้าที่สำคัญ 3 ข้อนี้

  1. ติดตามการใช้งานของแอปพลิเคชั่นนั้นๆ เพื่อดูความผิดปกติใน traffic
  2. ดู application dependencies เพื่อดูเรื่องความหน่วงในการทำงานหรือปัญหาการเชื่อมต่ออื่นๆ เช่น SQL, queues และ caching
  3. ระบุ SQL queries ที่ทำงานช้าได้
  4. สามารถบอกได้ว่า web page ใด มี volume สูงที่สุด และมี performance ที่ช้าที่สุด

การ monitor การทำงานของแอปพลิเคชั่นนั้นเป็นสิ่งสำคัญ และอย่าลืมเลือก APM ที่เป็น Code level performance อย่างเช่น Stackify Retrace และ Dynatrace เพื่อยกระดับการทำงานด้าน network ในองค์กร

________________________________________________________

Onestopware เราให้คุณได้มากกว่าคำว่าถู
💻 : www.onestopware.com
 : 02-392-3608
📱 : Sales@monsterconnect.co.th                                                         

ทิ้งคำตอบไว้