มีหลายวิธีในการตรวจสอบประสิทธิภาพของ Firebase Realtime Database และระบุปัญหาที่อาจเกิดขึ้นในแอปของคุณ การดูแบนด์วิธขาเข้าและขาออกและโหลดของแอปยังช่วยให้คุณทราบสิ่งที่คาดหวังในการเรียกเก็บเงิน นอกจากนี้ หากมีบางอย่างผิดปกติ การได้ภาพที่ชัดเจนเกี่ยวกับการดำเนินงานของฐานข้อมูลอาจเป็นเครื่องมือในการแก้ปัญหาที่มีประโยชน์
หน้านี้กล่าวถึงการตรวจสอบประสิทธิภาพฐานข้อมูลเรียลไทม์ สำหรับการมอนิเตอร์การใช้งาน ดูที่ มอนิเตอร์การใช้ฐานข้อมูล
ใช้เครื่องมือตรวจสอบฐานข้อมูลแบบเรียลไทม์
คุณสามารถรวบรวมข้อมูลเกี่ยวกับประสิทธิภาพของ Realtime Database ของคุณผ่านเครื่องมือต่างๆ สองสามอย่าง ขึ้นอยู่กับระดับความละเอียดที่คุณต้องการ
ใช้เครื่องมือสร้างโปรไฟล์ฐานข้อมูลเรียลไทม์
เครื่องมือสร้างโปรไฟล์ฐานข้อมูลแบบเรียลไทม์ ให้ภาพรวมแบบเรียลไทม์ของการดำเนินการอ่าน/เขียนบนฐานข้อมูลของคุณ รายงานประกอบด้วยข้อมูลเกี่ยวกับความเร็วและขนาดเพย์โหลดของการดำเนินการแต่ละรายการ นอกเหนือจากข้อความค้นหาที่ไม่ได้จัดทำดัชนี แต่ไม่รวมข้อมูลประวัติหรือสถิติใดๆ เกี่ยวกับค่าใช้จ่ายในการเชื่อมต่อ และ ไม่ควรใช้ในการประเมินค่าใช้จ่ายการเรียกเก็บเงิน
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้เครื่องมือสร้างโปรไฟล์ โปรดดูที่ สร้างโปรไฟล์ฐานข้อมูลของคุณ
ใช้คอนโซล Firebase
แท็บ การใช้งาน ใน คอนโซล Firebase ให้ข้อมูลเกี่ยวกับการเชื่อมต่อพร้อมกันกับฐานข้อมูลของคุณ จำนวนข้อมูลที่คุณจัดเก็บ แบนด์วิดท์ขาออก (รวมถึงโปรโตคอลและโอเวอร์เฮดการเข้ารหัส) และการโหลดฐานข้อมูลของคุณในช่วงเวลา 1 นาที แม้ว่าแท็บ การใช้งาน จะให้ภาพรวมที่แม่นยำยิ่งขึ้นเกี่ยวกับประสิทธิภาพโดยรวมของฐานข้อมูลของคุณ แต่คุณอาจไม่สามารถเจาะลึกได้มากพอที่จะแก้ไขปัญหาประสิทธิภาพที่อาจเกิดขึ้นได้
ใช้การตรวจสอบคลาวด์
ด้วย Cloud Monitoring จาก Google Cloud คุณสามารถใช้ Metrics Explorer เพื่อดูเมตริกประสิทธิภาพแต่ละรายการ หรือสร้างแดชบอร์ดที่แตกต่างกันพร้อมแผนภูมิที่แสดงชุดค่าผสมของเมตริกประสิทธิภาพเมื่อเวลาผ่านไป การรวมฐานข้อมูลเรียลไทม์กับ Cloud Monitoring มอบระดับความละเอียดที่ลึกที่สุด
ขั้นตอนสำหรับการตั้งค่า Cloud Monitoring ได้อธิบายไว้ใน การตรวจสอบการใช้งานฐานข้อมูล
ดูส่วนต่อไปนี้สำหรับคำแนะนำเกี่ยวกับการใช้เมตริก Cloud Monitoring เฉพาะเพื่อระบุปัญหาด้านประสิทธิภาพ
ตรวจสอบประสิทธิภาพใน Cloud Monitoring
หากคุณประสบปัญหาเกี่ยวกับประสิทธิภาพ รวมถึงเวลาทำงานหรือเวลาแฝง คุณอาจต้องการใช้ Cloud Monitoring เพื่อตรวจสอบเมตริกต่อไปนี้ โปรดทราบว่าชื่อประเภทเมตริกทั้งหมดจะนำหน้าด้วย firebasedatabase.googleapis.com/
ชื่อเมตริก | คำอธิบาย |
---|---|
โหลดฐานข้อมูล | |
เครือข่ายถูกปิดใช้งานเนื่องจากอายุเกิน | |
พื้นที่เก็บข้อมูลถูกปิดใช้งานเนื่องจากอายุเกิน | |
รวมเมตริกในแผนภูมิบนแดชบอร์ดของคุณเพื่อรับข้อมูลเชิงลึกและภาพรวมที่เป็นประโยชน์ ตัวอย่างเช่น ลองใช้ชุดค่าผสมต่อไปนี้:
- การดำเนินการ: ใช้เมตริก
io/database_load
เพื่อดูว่าการดำเนินการแต่ละประเภทใช้โหลดฐานข้อมูลทั้งหมดของคุณมากน้อยเพียงใด ตรวจสอบให้แน่ใจว่าจัดกลุ่มio/database_load
ตามประเภทเพื่อแก้ไขปัญหาการดำเนินการประเภทต่างๆ - พื้นที่เก็บข้อมูล: ใช้
storage/limit
และstorage/total_bytes
เพื่อตรวจสอบการใช้พื้นที่เก็บข้อมูลของคุณโดยสัมพันธ์กับขีดจำกัดพื้นที่จัดเก็บฐานข้อมูลเรียลไทม์ คุณยังสามารถเพิ่ม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 และรับการแจ้งเตือนตามเมตริกฐานข้อมูลเรียลไทม์ ตัวอย่างเช่น คุณสามารถเลือกรับการแจ้งเตือนได้หาก io/database_load
ของคุณใกล้ถึงเกณฑ์ที่กำหนด
ดู รายการเมตริกฐานข้อมูลเรียลไทม์ทั้งหมดที่มีให้ผ่าน Cloud Monitoring
ประเภทการโหลดฐานข้อมูล
เมตริก io/database_load
ยังจัดเตรียมเลเบลของประเภทการดำเนินการที่ทำให้เกิดการโหลด ต่อไปนี้เป็นประเภทการดำเนินการที่วัดได้:
-
admin
: การดำเนินการของผู้ดูแลระบบ เช่น การตั้งกฎและการอ่านข้อมูลเมตาของโครงการ -
auth
: ตรวจสอบการรับรองความถูกต้องจากบัญชีบริการหรือ Firebase Authentication สำหรับไคลเอนต์เดียว -
client_management
: การจัดการการเพิ่มและการลบการเชื่อมต่อพร้อมกัน ซึ่งรวมถึงการดำเนินการยกเลิกการเชื่อมต่อในการลบ -
get_shallow
: ดึงข้อมูลจาก REST GET ด้วยshallow=true
-
get
: จัดการการดำเนินการ REST GET -
listen
: การดึงข้อมูลเริ่มต้นสำหรับการดำเนินการon
และonce
จากไคลเอนต์ที่เชื่อมต่อ -
on_disconnect
: ลงทะเบียนการดำเนินการตัดการเชื่อมต่อจากไคลเอนต์ -
put
: จัดการการทำงานset
จากลูกค้าหรือ REST PUT -
transaction
: การทำธุรกรรมจากคำขอ REST แบบมีเงื่อนไขหรือการดำเนินการtransaction
จากลูกค้า -
update
: จัดการการดำเนินการupdate
หรือคำขอ REST PATCH
ตรวจสอบกฎความปลอดภัยในการตรวจสอบระบบคลาวด์
คุณยังสามารถวิเคราะห์การประเมินกฎความปลอดภัยได้อีกด้วย โปรดทราบว่าชื่อประเภทเมตริกทั้งหมดจะนำหน้าด้วย firebasedatabase.googleapis.com/
ชื่อเมตริก | คำอธิบาย |
---|---|
การประเมินกฎ | rules/evaluation_count จำนวนของการประเมินกฎฐานข้อมูลแบบเรียลไทม์ที่ดำเนินการเพื่อตอบสนองคำขอเขียนหรืออ่าน คุณสามารถแจกแจงเมตริกนี้ตามผลลัพธ์ของคำขอ (อนุญาต ปฏิเสธ หรือข้อผิดพลาด) |
ปรับแต่งแผนภูมิการตรวจสอบระบบคลาวด์ของคุณสำหรับการประเมินกฎตามต้องการ เช่น โดยการกรองผลการประเมินเฉพาะ อนุญาต ปฏิเสธ หรือข้อผิดพลาด การตั้งค่าและการปรับแต่งแผนภูมิครอบคลุมอยู่ใน การตรวจสอบการใช้ฐานข้อมูล
ดู รายการเมตริกฐานข้อมูลเรียลไทม์ทั้งหมดที่มีให้ผ่าน Cloud Monitoring