คุณสามารถตรวจสอบประสิทธิภาพของ Firebase Realtime Database's และตรวจหาปัญหาที่อาจเกิดขึ้นในแอปได้หลายวิธี การดูแบนด์วิดท์ขาเข้าและขาออก รวมถึงโหลดของแอปยังช่วยให้คุณทราบค่าใช้จ่ายที่อาจเกิดขึ้นในใบแจ้งหนี้ด้วย นอกจากนี้ หากพบสิ่งผิดปกติ การดูภาพรวมที่ชัดเจนของการดำเนินการของฐานข้อมูลอาจเป็นเครื่องมือที่มีประโยชน์ในการแก้ปัญหา
หน้านี้จะอธิบายการตรวจสอบประสิทธิภาพของ Realtime Database ส่วนการตรวจสอบการใช้งาน โปรดดูตรวจสอบการใช้งานฐานข้อมูล
ใช้เครื่องมือตรวจสอบ Realtime Database
คุณสามารถรวบรวมข้อมูลเกี่ยวกับประสิทธิภาพของ Realtime Database's ผ่านเครื่องมือต่างๆ ได้ 2-3 เครื่องมือ ขึ้นอยู่กับระดับความละเอียดที่คุณต้องการ
ใช้เครื่องมือโปรไฟล์ Realtime Database
เครื่องมือโปรไฟล์ Realtime Database จะแสดงภาพรวมแบบเรียลไทม์ของ การอ่าน/เขียนข้อมูลในฐานข้อมูล รายงานประกอบด้วยข้อมูลเกี่ยวกับความเร็วและขนาดเพย์โหลดของการดำเนินการแต่ละรายการ รวมถึงคําค้นหาที่ไม่ได้ทำดัชนี อย่างไรก็ตาม รายงานนี้จะไม่มีข้อมูลย้อนหลังหรือสถิติเกี่ยวกับค่าใช้จ่ายในการเชื่อมต่อ และไม่ควรใช้เพื่อประมาณค่าใช้จ่ายในการเรียกเก็บเงิน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือโปรไฟล์ได้ที่ สร้างโปรไฟล์ฐานข้อมูล
ใช้คอนโซล Firebase
แท็บการใช้งานใน Firebaseคอนโซล จะแสดงข้อมูลเกี่ยวกับการเชื่อมต่อพร้อมกันกับฐานข้อมูล ปริมาณ ข้อมูลที่คุณจัดเก็บ แบนด์วิดท์ขาออก (รวมถึงโปรโตคอลและค่าใช้จ่ายในการเข้ารหัส) และโหลดของฐานข้อมูลในช่วงเวลา 1 นาที แม้ว่าแท็บการใช้งาน จะแสดงภาพรวมที่แม่นยำยิ่งขึ้นเกี่ยวกับประสิทธิภาพโดยรวมของฐานข้อมูล แต่คุณอาจไม่สามารถเจาะลึกได้มากพอที่จะแก้ปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้น
ใช้ Cloud Monitoring
With Cloud Monitoring from Google Cloud, you can use the Metrics Explorer เพื่อดูเมตริกประสิทธิภาพแต่ละรายการ หรือสร้างแดชบอร์ดต่างๆ ที่มีแผนภูมิซึ่งแสดงเมตริกประสิทธิภาพต่างๆ ร่วมกันในช่วงเวลาที่กำหนดได้ การผสานรวม 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