การเพิ่มประสิทธิภาพเริ่มต้นด้วยการระบุเมตริกหลัก ซึ่งมักจะเกี่ยวข้องกับเวลาในการตอบสนองและปริมาณงาน การเพิ่มการตรวจสอบเพื่อบันทึกและติดตามเมตริกเหล่านี้จะเผยให้เห็นจุดอ่อนในแอปพลิเคชัน เมื่อมีเมตริกแล้ว คุณก็สามารถเพิ่มประสิทธิภาพเพื่อปรับปรุงเมตริกประสิทธิภาพได้
นอกจากนี้ เครื่องมือตรวจสอบหลายรายการยังช่วยให้คุณตั้งค่าการแจ้งเตือนสำหรับเมตริกได้ เพื่อให้คุณได้รับการแจ้งเตือนเมื่อถึงเกณฑ์ที่กำหนด ตัวอย่างเช่น คุณอาจตั้งค่าการแจ้งเตือนให้แจ้งเตือนเมื่อเปอร์เซ็นต์คำขอที่ไม่สำเร็จเพิ่มขึ้นมากกว่า X% จากระดับปกติ เครื่องมือตรวจสอบจะช่วยให้คุณระบุได้ว่าประสิทธิภาพการทำงานปกติเป็นอย่างไร และระบุการเพิ่มขึ้นอย่างผิดปกติของเวลาในการตอบสนอง ปริมาณข้อผิดพลาด และเมตริกหลักอื่นๆ ความสามารถในการตรวจสอบเมตริกเหล่านี้มีความสำคัญอย่างยิ่งในช่วงเวลาที่สำคัญต่อธุรกิจ หรือหลังจากที่ได้มีการนำโค้ดใหม่ไปใช้ในสภาพแวดล้อมจริง
ระบุเมตริกเวลาในการตอบสนอง
ตรวจสอบว่า UI ของคุณตอบสนองได้ดีที่สุดเท่าที่จะทำได้ โดยคำนึงว่าผู้ใช้คาดหวัง มาตรฐานที่สูงขึ้นจาก แอปบนอุปกรณ์เคลื่อนที่ นอกจากนี้ คุณควรวัดและติดตามเวลาในการตอบสนองของบริการแบ็กเอนด์ด้วย โดยเฉพาะอย่างยิ่งเนื่องจากอาจทำให้เกิดปัญหาเกี่ยวกับปริมาณงานหากไม่ได้รับการตรวจสอบ
เมตริกที่แนะนำให้ติดตามมีดังนี้
- ระยะเวลาคำขอ
- ระยะเวลาคำขอที่ระดับความละเอียดของระบบย่อย (เช่น การเรียก API)
- ระยะเวลาของงาน
ระบุเมตริกปริมาณงาน
ปริมาณงานคือการวัดจำนวนคำขอทั้งหมดที่ระบบจัดการให้ในช่วงเวลาที่กำหนด ปริมาณงานอาจได้รับผลกระทบจากเวลาในการตอบสนองของระบบย่อย ดังนั้นคุณอาจต้องเพิ่มประสิทธิภาพเวลาในการตอบสนองเพื่อปรับปรุงปริมาณงาน
เมตริกที่แนะนำให้ติดตามมีดังนี้
- จำนวนคำค้นหาต่อวินาที
- ขนาดข้อมูลที่โอนต่อวินาที
- จำนวนการดำเนินการ I/O ต่อวินาที
- การใช้ทรัพยากร เช่น การใช้ CPU หรือการใช้งานหน่วยความจำ
- ขนาดของงานที่ค้างอยู่ เช่น Pub/Sub หรือจำนวนเธรด
ไม่ใช่แค่ค่าเฉลี่ย
ข้อผิดพลาดที่พบบ่อยในการวัดประสิทธิภาพคือการดูเฉพาะกรณีค่าเฉลี่ย แม้ว่าวิธีนี้จะมีประโยชน์ แต่ก็ไม่ได้ให้ข้อมูลเชิงลึกเกี่ยวกับการกระจายเวลาในการตอบสนอง เมตริกที่ดีกว่าในการติดตามคือเปอร์เซ็นไทล์ประสิทธิภาพ เช่น เปอร์เซ็นไทล์ที่ 50, 75, 90 และ 99 สำหรับเมตริก
โดยทั่วไป การเพิ่มประสิทธิภาพสามารถทำได้ 2 ขั้นตอน ขั้นแรก ให้เพิ่มประสิทธิภาพสำหรับเวลาในการตอบสนองที่เปอร์เซ็นไทล์ที่ 90 จากนั้นพิจารณาเปอร์เซ็นไทล์ที่ 99 ซึ่งเรียกอีกอย่างว่าเวลาในการตอบสนองส่วนท้าย ซึ่งเป็นคำขอส่วนเล็กๆ ที่ใช้เวลานานกว่ามากในการดำเนินการให้เสร็จสมบูรณ์
การตรวจสอบฝั่งเซิร์ฟเวอร์เพื่อดูผลลัพธ์โดยละเอียด
โดยทั่วไปแล้ว การสร้างโปรไฟล์ฝั่งเซิร์ฟเวอร์เป็นวิธีที่แนะนำสำหรับการติดตามเมตริก โดยปกติแล้ว ฝั่งเซิร์ฟเวอร์จะติดตั้งใช้งานได้ง่ายกว่ามาก ช่วยให้เข้าถึงข้อมูลที่ละเอียดยิ่งขึ้น และได้รับผลกระทบน้อยกว่าจากปัญหาการเชื่อมต่อ
การตรวจสอบเบราว์เซอร์เพื่อดูภาพรวมทั้งหมด
หากการผสานรวม Google Ads API ให้บริการส่วนหน้าเว็บแก่ผู้ใช้ปลายทาง การสร้างโปรไฟล์เบราว์เซอร์จะให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับประสบการณ์ของผู้ใช้ โดยจะแสดงหน้าเว็บที่มีคำขอช้า ซึ่งคุณสามารถเชื่อมโยงกับการตรวจสอบฝั่งเซิร์ฟเวอร์เพื่อทำการวิเคราะห์เพิ่มเติมได้
Google Analytics ยังมีการตรวจสอบเวลาในการโหลดหน้าเว็บแบบสำเร็จรูปใน รายงานการจับเวลาหน้าเว็บของ Analytics ด้วย ซึ่งมีมุมมองที่เป็นประโยชน์หลายอย่างสำหรับการทำความเข้าใจประสบการณ์ของผู้ใช้ในเว็บไซต์ โดยเฉพาะอย่างยิ่งข้อมูลต่อไปนี้
- เวลาในการโหลดหน้าเว็บ
- เวลาในการโหลดการเปลี่ยนเส้นทาง
- เวลาในการตอบสนองของเซิร์ฟเวอร์
การตรวจสอบในระบบคลาวด์
คุณสามารถใช้เครื่องมือมากมายเพื่อบันทึกและตรวจสอบเมตริกประสิทธิภาพของแอปพลิเคชัน ตัวอย่างเช่น คุณสามารถใช้ Google Cloud Logging เพื่อบันทึกเมตริกประสิทธิภาพลงใน โปรเจ็กต์ Google Cloud จากนั้นตั้งค่าแดชบอร์ดใน Google Cloud Monitoring เพื่อตรวจสอบและแบ่งกลุ่ม เมตริกที่บันทึกไว้
โปรดดูคู่มือการบันทึกสำหรับ
ตัวอย่างตัวสกัดกั้นการบันทึก gRPC แบบกำหนดเองที่เขียนขึ้นสำหรับ
ไลบรารีของไคลเอ็นต์ Python ในตัวอย่างนั้น ตัวสกัดกั้นจะเรียก logger.log_struct() เพื่อส่งพจนานุกรม Python ของข้อมูลบันทึกที่มีโครงสร้างไปยัง Cloud Logging ซึ่ง Cloud Logging จะจัดเก็บไว้ในฟิลด์ jsonPayload ของรายการบันทึก
logger.log_struct({
"method": method_name,
"elapsed_ms": elapsed_milliseconds,
"is_fault": is_fault,
})
เมื่อมีข้อมูลดังกล่าวใน Google Cloud แล้ว คุณจะสร้างเมตริกจากข้อมูลที่บันทึกไว้เพื่อดูข้อมูลเชิงลึกเกี่ยวกับแอปพลิเคชันผ่าน Google Cloud Monitoring ได้ ทำตาม คู่มือเมตริกตามบันทึกที่ผู้ใช้กำหนดเพื่อสร้างเมตริก โดยใช้บันทึกที่ส่งไปยัง Google Cloud Logging
หรือคุณจะใช้ ไลบรารีของไคลเอ็นต์ Cloud Monitoring เพื่อกำหนดเมตริกใน โค้ดและส่งเมตริกไปยัง Monitoring โดยตรงแยกจากบันทึกก็ได้
ตัวอย่างเมตริกตามบันทึก
สมมติว่าคุณต้องการตรวจสอบค่า is_fault เพื่อทำความเข้าใจอัตราข้อผิดพลาดในแอปพลิเคชันได้ดียิ่งขึ้น เนื่องจาก logger.log_struct() จะเขียนฟิลด์พจนานุกรมที่มีโครงสร้าง ภายใต้ jsonPayload ในแต่ละรายการบันทึก Cloud Logging คุณจึง สร้าง เมตริกตัวนับชื่อ ErrorCount พร้อมตัวกรองที่ ตรงกับคำขอที่ไม่สำเร็จ เช่น jsonPayload.is_fault = true ได้
ใน Cloud Logging ป้ายกำกับ จะช่วยให้คุณจัดกลุ่มเมตริกเป็น
หมวดหมู่ตามข้อมูลอื่นๆ ในบันทึกได้ คุณสามารถกำหนดค่าป้ายกำกับ STRING
ชื่อ Method ในฟิลด์ jsonPayload.method
ที่ส่งไปยัง Cloud Logging เพื่อแบ่งจำนวนข้อผิดพลาดตามเมธอด
Google Ads API ได้
เมื่อกำหนดค่าเมตริก ErrorCount และป้ายกำกับ Method แล้ว คุณจะ
สร้างแผนภูมิใหม่ใน Cloud Monitoring เพื่อตรวจสอบ
ErrorCount โดยจัดกลุ่มตาม Method ได้
การแจ้งเตือน
คุณสามารถกำหนดค่านโยบายการแจ้งเตือนที่ระบุเวลาและวิธีที่เมตริกควรทริกเกอร์การแจ้งเตือนใน Cloud Monitoring และเครื่องมืออื่นๆ ได้ หากต้องการดูวิธีการตั้งค่าการแจ้งเตือน Cloud Monitoring ให้ทำตาม คู่มือการแจ้งเตือนเกี่ยวกับเมตริกตามบันทึก