หน้านี้อธิบายวิธีตรวจสอบการใช้งาน Cloud Firestore และตรวจหาปัญหาที่อาจเกิดขึ้นในแอป
แดชบอร์ดการใช้งาน
ใช้แดชบอร์ดการใช้งานในคอนโซล Google Cloud และคอนโซล Firebase เพื่อดูการอ่าน การเขียน และการลบเอกสารเมื่อเวลาผ่านไป
การควบคุมการเข้าถึง
แดชบอร์ดการใช้งานต้องมีสิทธิ์ Cloud IAM ของ monitoring.timeSeries.list
บทบาทเจ้าของโปรเจ็กต์ ผู้แก้ไข และผู้ดูจะให้สิทธิ์นี้ นอกจากนี้ คุณยังให้สิทธิ์นี้ผ่านบทบาท Cloud Monitoring หรือบทบาทที่กำหนดเองได้ด้วย
แดชบอร์ดการใช้งานฐานข้อมูล
หากต้องการดูเมตริกการใช้งานสําหรับฐานข้อมูล Cloud Firestore ให้เปิดหน้าการใช้งานของฐานข้อมูลในคอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่จําเป็นจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการใช้งาน
คลิกลิงก์ในข้อความที่ปรากฏในหน้าเว็บเพื่อดูการใช้งานฐานข้อมูล
หน้าแดชบอร์ดการใช้งานฐานข้อมูล Cloud Firestore ในคอนโซล Google Cloud"/>
แดชบอร์ดการใช้งานรวม
หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายแห่ง คุณสามารถดูเมตริกการใช้งานแบบรวมได้ในคอนโซล Google Cloud หรือคอนโซล Firebase
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าการใช้งานโปรเจ็กต์
ไปที่การใช้งานโปรเจ็กต์ Google Cloud
แดชบอร์ดการใช้งานโปรเจ็กต์จะแสดงการดำเนินการกับเอกสารในช่วงระยะเวลาหนึ่งๆ ดังนี้
แดชบอร์ดการใช้งานโปรเจ็กต์ Cloud Firestore ในคอนโซล Google Cloud"/>
คอนโซล Firebase
ไปที่หน้าการใช้งาน Cloud Firestore (คอนโซล Firebase)
แดชบอร์ดการใช้งาน Cloud Firestore ในคอนโซล Firebase"/>
แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน
หน้าแดชบอร์ดการใช้งาน Cloud Firestore ในคอนโซล Firebase และ Cloud จะแสดงค่าประมาณของการใช้งาน ซึ่งจะช่วยคุณระบุการใช้งานที่เพิ่มขึ้นอย่างรวดเร็ว อย่างไรก็ตาม แดชบอร์ดไม่ใช่มุมมองที่แน่นอนของการดำเนินการที่มีการเรียกเก็บเงิน การใช้งานที่มีการเรียกเก็บเงิน จึงมีแนวโน้มสูงกว่า ในกรณีที่มีความคลาดเคลื่อนทั้งหมด รายงานการเรียกเก็บเงินจะมีความสําคัญเหนือแดชบอร์ดการใช้งาน
การดำเนินการที่ทำให้เกิดความแตกต่างระหว่างแดชบอร์ดการใช้งานกับการใช้งานที่เรียกเก็บเงิน ได้แก่
- การดำเนินการนำเข้าและส่งออก การอ่านและการเขียนที่ดำเนินการโดยการดำเนินการเหล่านี้จะไม่แสดงในแดชบอร์ดการใช้งาน
- การเขียนแบบไม่ดำเนินการใดๆ สำหรับการยืนยันเท่านั้น การเขียนที่ยืนยันการมีอยู่หรือไม่มีอยู่ของเอกสารจะมีส่วนร่วมในการดำเนินการอ่านที่มีการเรียกเก็บเงิน แต่จะแสดงเป็น "UPDATE_NOOP" และ "DELETE_NOOP" ตามลำดับในหน้าแดชบอร์ดการใช้งานการเขียน
- การเขียนแบบไม่มีการดำเนินการ การดำเนินการที่ไม่ส่งผลให้ฐานข้อมูลมีการเปลี่ยนแปลง เช่น การอัปเดตที่ไม่ได้เปลี่ยนค่าในช่องหรือการเขียนไปยังเอกสารที่ถูกลบไปแล้ว อาจแสดงในแดชบอร์ดการใช้งานเป็น "UPDATE_NOOP" หรือ "DELETE_NOOP" แม้ว่าจะแสดงเป็น "NOOP" แต่การดำเนินการเหล่านี้จะยังคงส่งผลต่อการดำเนินการที่มีการเรียกเก็บเงิน
การเขียนแบบยุบ ในกรณีที่มีการเขียนเอกสารเดียวกันหลายครั้งติดต่อกันอย่างรวดเร็ว แดชบอร์ดการใช้งานอาจยุบการเขียนหลายรายการเข้าด้วยกันและนับเป็นรายการเดียว เมื่อเรียกเก็บเงินตามการใช้งาน ระบบจะยังคงนับการเขียนแต่ละรายการแยกกัน
แดชบอร์ดการใช้งานจะยุบการเขียนสําหรับการเปลี่ยนรูปแบบช่อง เช่น การประทับเวลาของเซิร์ฟเวอร์ การเพิ่มขึ้นของตัวเลข และการดำเนินการรวมอาร์เรย์ สําหรับการเปลี่ยนรูปแบบช่อง แดชบอร์ดการใช้งานอาจนับการดำเนินการหลายรายการเป็นการดำเนินการเดียว
- การค้นหาที่แสดงผลลัพธ์เป็น 0 การค้นหาที่ไม่มีผลลัพธ์ใดๆ จะมีค่าใช้จ่ายเท่ากับการดำเนินการอ่าน 1 ครั้ง การใช้งานนี้จะมีการเรียกเก็บเงิน แต่จะไม่ปรากฏใน แดชบอร์ดการใช้งาน
- การดำเนินการอ่านจากการอ่านรายการดัชนี ระบบจะเรียกเก็บเงินสำหรับการใช้งานนี้ แต่จะไม่ปรากฏในหน้าแดชบอร์ดการใช้งาน เช่น การค้นหาการรวมข้อมูลจะเรียกเก็บเงินสำหรับการอ่านรายการดัชนี แต่การใช้งานนี้จะไม่ปรากฏในแดชบอร์ดการใช้งาน
แดชบอร์ดการใช้งานสำหรับการลบจะไม่บันทึกการดำเนินการหมดอายุอัตโนมัติที่ดำเนินการโดยนโยบายกำหนดเวลาอยู่ได้ (TTL) โปรดดูเมตริก TTL จาก Cloud Monitoring
การใช้กฎความปลอดภัย
นอกจากนี้ คอนโซล Firebase ยังมีแดชบอร์ดการประเมินกฎความปลอดภัย ซึ่งเป็นมุมมองภาพรวมที่เป็นประโยชน์เกี่ยวกับการเรียกใช้กฎ คุณสามารถเสริมแดชบอร์ดนี้ด้วยการวิเคราะห์โดยละเอียดใน Cloud Monitoring
แดชบอร์ดการตรวจสอบกฎ Cloud Firestore ในคอนโซล Firebase"/>
เมตริก Cloud Monitoring รายการ
Cloud Monitoring จะรวบรวมเมตริก เหตุการณ์ และข้อมูลเมตาจากผลิตภัณฑ์ Google Cloud แดชบอร์ดการใช้งานในคอนโซล Cloud Firestore จะรายงานข้อมูลเมตริกเดียวกัน หากต้องการตั้งค่าแดชบอร์ดที่กำหนดเองและการแจ้งเตือนการใช้งาน ให้ใช้ Cloud Monitoring
Cloud Monitoring มีเมตริก Cloud Firestore ต่อไปนี้
ชื่อเมตริก | คำอธิบาย |
---|---|
การอ่านเอกสาร |
จำนวนการอ่านเอกสารที่สำเร็จ คุณสามารถแจกแจงเมตริกนี้ตามประเภทของการอ่านได้ นั่นคือ LOOKUP หรือ QUERY เมตริกนี้ไม่รวมการอ่านจากการส่งออกที่มีการจัดการหรือการดำเนินการลบหลายรายการพร้อมกัน |
การเขียนเอกสาร |
จำนวนการเขียนเอกสารที่สำเร็จ คุณสามารถแจกแจงเมตริกตามประเภทการเขียนได้ ซึ่งได้แก่ CREATE หรือ UPDATE เมตริกนี้ไม่รวมการเขียนจากการดำเนินการนําเข้าที่มีการจัดการ |
การลบเอกสาร | จำนวนเอกสารที่ลบสำเร็จ |
การเชื่อมต่อที่ใช้งานอยู่ |
จำนวนการเชื่อมต่อที่ใช้งานอยู่กับฐานข้อมูลของคุณ SDK บนอุปกรณ์เคลื่อนที่และเว็บที่ใช้งานอยู่แต่ละรายการจะรักษาการเชื่อมต่อเดียวไว้ ซึ่งสามารถแชร์กับ Listener ของสแนปชอตหลายรายการได้ ไลบรารีของไคลเอ็นต์ของเซิร์ฟเวอร์สร้างการเชื่อมต่อ 1 รายการต่อ Listener ของสแนปชอต |
Listener ของสแนปชอต |
จํานวน Listener ของสแนปชอตในการเชื่อมต่อที่ใช้งานอยู่ทั้งหมด |
จํานวนการลบ Time to Live |
จำนวนเอกสารทั้งหมดที่ลบตามนโยบาย Time-to-live (TTL) |
การหมดอายุแบบ Time to Live จนถึงการหน่วงเวลาการลบ |
เวลาที่ผ่านไประหว่างที่เอกสารหมดอายุภายใต้นโยบาย Time-to-live (TTL) และเวลาที่ระบบลบเอกสารจริง |
- การใช้งานการอัปเดตแบบเรียลไทม์
ใช้เมตริกการเชื่อมต่อที่ใช้งานอยู่และ Listener ของสแนปชอตเพื่อวัดการใช้การอัปเดตแบบเรียลไทม์
สมมติว่าผู้ใช้เปิดแอปของคุณในโทรศัพท์ จากนั้นแอปจะเชื่อมต่อกับ Cloud Firestore และติดตามการค้นหา 10 รายการ ซึ่งจะเพิ่มเมตริกของคุณเป็นการเชื่อมต่อที่ใช้งานอยู่ 1 รายการและ Listener ของสแนปชอต 10 รายการ
- อัตราการสุ่มตัวอย่าง
ระบบจะสุ่มตัวอย่างเมตริก Cloud Firestore ทุกนาที แต่การอัปเดตอาจใช้เวลาถึง 4 นาทีจึงจะปรากฏในแดชบอร์ด
เมตริกเวลาในการตอบสนอง
เมตริกเวลาในการตอบสนองของแบ็กเอนด์จะดูได้ผ่านเมตริก Google Cloud firestore ทั่วไป
เช่น กราฟของเวลาในการตอบสนอง p50 จะอยู่ในมุมมองเครื่องมือสำรวจเมตริกของ Cloud Console
ตั้งค่าแดชบอร์ด Cloud Monitoring
หากต้องการดูหน้าแดชบอร์ดที่กำหนดไว้ล่วงหน้าหรือตั้งค่าแดชบอร์ด โปรดดูใช้แดชบอร์ดการตรวจสอบ
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Cloud Monitoring
- ดูข้อมูลเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับการตรวจสอบประสิทธิภาพของ Firestore