การเพิ่มประสิทธิภาพเริ่มต้นด้วยการระบุเมตริกหลัก ซึ่งมักเกี่ยวข้องกับเวลาในการตอบสนองและอัตราการส่งผ่านข้อมูล การเพิ่มการตรวจสอบเพื่อบันทึกและติดตามเมตริกเหล่านี้จะแสดงจุดอ่อนในแอปพลิเคชัน คุณสามารถใช้เมตริกเพื่อเพิ่มประสิทธิภาพและปรับปรุงเมตริกประสิทธิภาพได้
นอกจากนี้ เครื่องมือตรวจสอบจำนวนมากยังช่วยให้คุณตั้งค่าการแจ้งเตือนสำหรับเมตริกได้ เพื่อให้คุณได้รับการแจ้งเตือนเมื่อถึงเกณฑ์ที่กำหนด ตัวอย่างเช่น คุณอาจตั้งค่าการแจ้งเตือนให้แจ้งให้คุณทราบเมื่อเปอร์เซ็นต์ของคำขอที่ล้มเหลวเพิ่มขึ้นมากกว่า 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 ได้ที่คำแนะนำในการแจ้งเตือนเกี่ยวกับเมตริกตามบันทึก