คุณตรวจสอบFirebase Realtime Database ประสิทธิภาพและระบุปัญหาที่อาจเกิดขึ้นในแอปได้หลายวิธี การดูแบนด์วิดท์ขาเข้าและขาออก รวมถึงโหลดของแอปยังช่วยให้คุณทราบถึงสิ่งที่ คาดหวังได้ในใบเรียกเก็บเงินด้วย นอกจากนี้ หากมีสิ่งผิดปกติ การมีภาพที่ชัดเจน เกี่ยวกับการดำเนินการของฐานข้อมูลอาจเป็นเครื่องมือแก้ปัญหาที่มีประโยชน์
หน้านี้จะกล่าวถึงRealtime Databaseการตรวจสอบประสิทธิภาพ ดูการตรวจสอบการใช้งานได้ที่ตรวจสอบการใช้งานฐานข้อมูล
ใช้เครื่องมือตรวจสอบ Realtime Database
คุณสามารถรวบรวมข้อมูลเกี่ยวกับประสิทธิภาพของ Realtime Database ได้ผ่านเครื่องมือต่างๆ 2-3 อย่าง ทั้งนี้ขึ้นอยู่กับระดับรายละเอียดที่คุณต้องการ
ใช้เครื่องมือ Realtime Database โปรไฟล์
เครื่องมือโปรไฟล์Realtime Databaseจะแสดงภาพรวมแบบเรียลไทม์ของการดำเนินการอ่าน/เขียนในฐานข้อมูล รายงานประกอบด้วยข้อมูลเกี่ยวกับความเร็วและขนาดเพย์โหลดของการดำเนินการแต่ละอย่าง รวมถึงคำค้นหาที่ไม่ได้จัดทำดัชนี แต่จะไม่รวมข้อมูลย้อนหลังหรือสถิติใดๆ เกี่ยวกับค่าใช้จ่ายในการเชื่อมต่อ และไม่ควรใช้เพื่อประมาณค่าใช้จ่ายในการเรียกเก็บเงิน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือ Profiler ได้ที่สร้างโปรไฟล์ฐานข้อมูล
ใช้คอนโซล Firebase
แท็บการใช้งานในคอนโซล Firebase จะแสดงข้อมูลเกี่ยวกับการเชื่อมต่อพร้อมกันกับฐานข้อมูล ปริมาณข้อมูลที่คุณจัดเก็บ แบนด์วิดท์ขาออก (รวมถึงโปรโตคอลและส่วนเกินของการเข้ารหัส) และโหลดของฐานข้อมูลในช่วงเวลาทุก 1 นาที แม้ว่าแท็บการใช้งาน จะให้ภาพรวมที่แม่นยำยิ่งขึ้นเกี่ยวกับประสิทธิภาพโดยรวมของฐานข้อมูล แต่คุณอาจไม่สามารถเจาะลึกได้มากพอที่จะแก้ปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้น
ใช้ Cloud Monitoring
Cloud Monitoring จาก Google Cloud คุณสามารถใช้เครื่องมือสํารวจเมตริก เพื่อดูเมตริกประสิทธิภาพแต่ละรายการ หรือสร้างแดชบอร์ดต่างๆ พร้อมแผนภูมิที่แสดงเมตริกประสิทธิภาพต่างๆ ร่วมกันในช่วงเวลาหนึ่งๆ Realtime Database การผสานรวมกับ Cloud Monitoring จะให้รายละเอียดในระดับที่ลึกที่สุด
ขั้นตอนการตั้งค่า Cloud Monitoring อธิบายไว้ในตรวจสอบการใช้ฐานข้อมูล
ดูเคล็ดลับในการใช้Cloud Monitoring เมตริกที่เฉพาะเจาะจงเพื่อระบุปัญหาด้านประสิทธิภาพได้ในส่วนต่อไปนี้
ตรวจสอบประสิทธิภาพใน Cloud Monitoring
หากพบปัญหาเกี่ยวกับประสิทธิภาพ รวมถึงเวลาทํางานหรือเวลาในการตอบสนอง คุณอาจต้องใช้ Cloud Monitoring เพื่อตรวจสอบเมตริกต่อไปนี้
โปรดทราบว่าชื่อประเภทเมตริกทั้งหมดจะมีคำนำหน้าเป็น firebasedatabase.googleapis.com/
| ชื่อเมตริก | คำอธิบาย |
|---|---|
| ภาระงานของฐานข้อมูล |
|
| ปิดใช้เครือข่ายเนื่องจากมีการใช้งานเกินโควต้า |
|
| ปิดใช้พื้นที่เก็บข้อมูลเนื่องจากใช้เกินโควต้า |
|
รวมเมตริกในแผนภูมิบนแดชบอร์ดเพื่อรับข้อมูลเชิงลึกและภาพรวมที่เป็นประโยชน์ เช่น ลองใช้ชุดค่าผสมต่อไปนี้
- การดำเนินการ: ใช้เมตริก
io/database_loadเพื่อดูว่าการดำเนินการแต่ละประเภทใช้โหลดฐานข้อมูลทั้งหมดของคุณมากน้อยเพียงใด อย่าลืมจัดกลุ่มio/database_loadตามประเภทเพื่อแก้ปัญหาการดำเนินการประเภทต่างๆ - พื้นที่เก็บข้อมูล: ใช้
storage/limitและstorage/total_bytesเพื่อตรวจสอบ การใช้พื้นที่เก็บข้อมูลที่เกี่ยวข้องกับRealtime Databaseขีดจำกัดพื้นที่เก็บข้อมูล นอกจากนี้ คุณยังเพิ่มstorage/disabled_for_overagesเพื่อดูว่าแอปของคุณมีช่วงหยุดทำงานเนื่องจากใช้พื้นที่เก็บข้อมูลเกินขีดจำกัดหรือไม่ - ส่วนเกินของ SSL: ใช้
network/https_requests_countเพื่อตรวจสอบจำนวน คำขอการเชื่อมต่อ SSL ที่ฐานข้อมูลได้รับ และแยกคำขอที่ ใช้ตั๋วเซสชัน SSL ที่มีอยู่ซ้ำด้วยตัวกรองreused_ssl_sessionคุณสามารถวัดค่านี้เทียบกับnetwork/sent_bytes_countและnetwork/sent_payload_and_protocol_bytes_countเพื่อตรวจสอบว่าแอปใช้ตั๋วเซสชัน SSL อย่างมีประสิทธิภาพหรือไม่
นอกจากนี้ คุณยังตั้งค่าการแจ้งเตือนผ่าน
Cloud Monitoringและรับการแจ้งเตือนตามRealtime Databaseเมตริกได้ด้วย
เช่น คุณเลือกรับการแจ้งเตือนได้หากio/database_load
ใกล้ถึงเกณฑ์ที่กำหนด
ดูรายการเมตริกทั้งหมดของ Realtime Database ที่พร้อมใช้งานผ่าน Cloud Monitoring
ประเภทภาระงานของฐานข้อมูล
io/database_load เมตริกยังระบุประเภทการดำเนินการที่ทำให้เกิดการโหลดด้วย
ประเภทการดำเนินการที่วัดได้มีดังนี้
admin: การดำเนินการของผู้ดูแลระบบ เช่น การตั้งค่ากฎและการอ่านข้อมูลเมตาของโปรเจ็กต์auth: การยืนยันการตรวจสอบสิทธิ์จากบัญชีบริการหรือ Firebase การตรวจสอบสิทธิ์สำหรับไคลเอ็นต์เดียวclient_management: การจัดการการเพิ่มและการนำการเชื่อมต่อพร้อมกันออก ซึ่งรวมถึงการเรียกใช้การดำเนินการยกเลิกการเชื่อมต่อเมื่อนำออกget_shallow: การดึงข้อมูลจาก REST GET ด้วยshallow=trueget: การจัดการการดำเนินการ REST GETlisten: การดึงข้อมูลเริ่มต้นสําหรับการดำเนินการonและonceจาก ไคลเอ็นต์ที่เชื่อมต่อon_disconnect: การลงทะเบียนในการดำเนินการยกเลิกการเชื่อมต่อจากไคลเอ็นต์put: การจัดการการดำเนินการsetจากไคลเอ็นต์หรือการดำเนินการ REST PUTtransaction: การทำธุรกรรมจากคำขอ REST แบบมีเงื่อนไขหรือการดำเนินการtransactionจากไคลเอ็นต์update: การจัดการการดำเนินการupdateหรือคำขอ REST PATCH
ตรวจสอบกฎความปลอดภัยใน Cloud Monitoring
นอกจากนี้ คุณยังวิเคราะห์การประเมินกฎความปลอดภัยได้ด้วย โปรดทราบว่าชื่อประเภทเมตริกทั้งหมด
จะมีคำนำหน้าเป็น firebasedatabase.googleapis.com/
| ชื่อเมตริก | คำอธิบาย |
|---|---|
| การประเมินกฎ | rules/evaluation_count จำนวนการประเมินกฎของ Realtime Database ที่ดำเนินการเพื่อตอบสนองต่อคำขอเขียนหรืออ่าน คุณสามารถแบ่งเมตริกนี้ตามผลลัพธ์ของคำขอ (อนุญาต ปฏิเสธ หรือข้อผิดพลาด) |
ปรับแต่งCloud Monitoringแผนภูมิสำหรับการประเมินกฎตามต้องการ เช่น กรองผลการประเมินที่เฉพาะเจาะจง อนุญาต ปฏิเสธ หรือข้อผิดพลาด การตั้งค่าและปรับแต่งแผนภูมิจะอธิบายไว้ในตรวจสอบการใช้ฐานข้อมูล
ดูรายการเมตริกทั้งหมดของ Realtime Database ที่พร้อมใช้งานผ่าน Cloud Monitoring