หน้านี้อธิบายวิธีตรวจสอบการใช้งาน Cloud Firestore และ พบปัญหาที่อาจเกิดขึ้นในแอป
แดชบอร์ดการใช้งาน
ใช้แดชบอร์ดการใช้งานในคอนโซล Google Cloud Platform และคอนโซล Firebase เพื่อดู เอกสารก็อ่าน เขียน และลบได้เมื่อเวลาผ่านไป
การควบคุมการเข้าถึง
แดชบอร์ดการใช้งานต้องมีสิทธิ์ Cloud IAM ของ monitoring.timeSeries.list
บทบาทเจ้าของโปรเจ็กต์ ผู้แก้ไข และผู้ดูจะให้สิทธิ์นี้ นอกจากนี้ คุณยังให้สิทธิ์นี้
ผ่านบทบาท Cloud Monitoring
หรือบทบาทที่กำหนดเอง
แดชบอร์ดการใช้งานฐานข้อมูล
หากต้องการดูเมตริกการใช้งานสำหรับฐานข้อมูล Cloud Firestore ให้เปิดการใช้งานของฐานข้อมูล ในคอนโซล GCP
ในคอนโซล Google Cloud Platform ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการใช้งาน
คลิกลิงก์ในข้อความที่ปรากฏบนหน้าเว็บเพื่อดูการใช้งานฐานข้อมูล
แดชบอร์ดการใช้งานรวม
หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายรายการ คุณจะดูได้ เมตริกการใช้งานรวมในคอนโซล GCP หรือคอนโซล Firebase
คอนโซล GCP
ในคอนโซล Google Cloud Platform ให้ไปที่หน้าการใช้งานโปรเจ็กต์
แดชบอร์ดการใช้งานโปรเจ็กต์จะแสดงการดำเนินการของเอกสารเมื่อเวลาผ่านไป ดังนี้
คอนโซล Firebase
ไปที่หน้าการใช้งาน Cloud Firestore (คอนโซล Firebase)
แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน
แดชบอร์ดการใช้งาน Cloud Firestore ในคอนโซล Firebase และ Cloud ระบุลักษณะการใช้งานโดยประมาณ ซึ่งช่วยให้คุณระบุการใช้งานที่พุ่งสูงขึ้นได้ อย่างไรก็ตาม หน้าแดชบอร์ดไม่ใช่มุมมองที่แน่นอนของการดำเนินการที่มีการเรียกเก็บเงิน การใช้งานที่เรียกเก็บเงิน ก็มีแนวโน้มสูงขึ้น ในทุกกรณีที่มีความคลาดเคลื่อน รายงานการเรียกเก็บเงินจะใช้ มีความสำคัญเหนือแดชบอร์ดการใช้งาน
การดำเนินการที่ทำให้เกิดความคลาดเคลื่อนระหว่างแดชบอร์ดการใช้งานและการเรียกเก็บเงิน การใช้งานประกอบด้วย:
- การดำเนินการนำเข้าและส่งออก การอ่านและเขียนที่ดำเนินการโดยการดำเนินการเหล่านี้ จะไม่แสดงในแดชบอร์ดการใช้งาน
- การเขียนแบบยืนยันเท่านั้นโดยไม่มีการดำเนินการ การเขียนที่ยืนยันการมีอยู่หรือไม่มีอยู่ของเอกสารจะมีส่วนร่วมในการดำเนินการอ่านที่มีการเรียกเก็บเงิน แต่จะแสดงเป็น "UPDATE_NOOP" และ "DELETE_NOOP" ตามลำดับในหน้าแดชบอร์ดการใช้งานการเขียน
- การเขียนที่ไม่มีการดำเนินการ การดำเนินการที่ไม่ส่งผลให้เกิดการเปลี่ยนแปลงในฐานข้อมูล เช่น การอัปเดตที่จะไม่เปลี่ยนแปลงค่าฟิลด์ หรือการเขียนไปยัง เอกสารอาจแสดงในหน้าแดชบอร์ดการใช้งานเป็น "UPDATE_NOOP" หรือ "DELETE_NOOP" แม้ว่าจะแสดงเป็น "NOOP" ก็ยังคงมีการเรียกเก็บเงิน
การเขียนที่ยุบแล้ว ในกรณีที่มีการเขียนหลายรายการในเอกสารเดียวกันอย่างรวดเร็ว แดชบอร์ดการใช้งานอาจยุบการเขียนหลายรายการไว้ด้วยกัน และ นับเป็นหนึ่งเดียว เมื่อใช้การเรียกเก็บเงิน ระบบจะนับการเขียนแต่ละรายการแยกกัน
แดชบอร์ดการใช้งานยังยุบการเขียนสำหรับการแปลงช่อง เช่น การประทับเวลาของเซิร์ฟเวอร์ การเพิ่มจำนวนตัวเลข และการดำเนินการสหภาพอาร์เรย์ สำหรับการเปลี่ยนรูปแบบช่อง แดชบอร์ดการใช้งานอาจนับการดำเนินการหลายรายการเป็นการดำเนินการเดียว
- การค้นหาที่แสดงผลลัพธ์เป็น 0 ข้อความค้นหาที่ไม่มีผลลัพธ์ ค่าใช้จ่ายสำหรับการดำเนินการอ่านครั้งเดียว มีการเรียกเก็บเงินการใช้งานนี้ แต่ไม่ปรากฏ ในแดชบอร์ดการใช้งาน
- อ่านการดำเนินการจากการอ่านรายการดัชนี มีการเรียกเก็บเงินการใช้งานนี้ จะปรากฏในแดชบอร์ดการใช้งาน ตัวอย่างเช่น การเรียกเก็บเงินค่าการค้นหาการรวมสำหรับรายการดัชนีที่อ่านแล้ว แต่การใช้งานนี้ไม่ปรากฏในแดชบอร์ดการใช้งาน
แดชบอร์ดการใช้งานสำหรับการลบจะไม่บันทึกการดำเนินการหมดอายุอัตโนมัติที่ดำเนินการโดยนโยบาย Time-to-live (TTL) โปรดดูเมตริก TTL จาก Cloud Monitoring
การใช้กฎความปลอดภัย
นอกจากนี้ คอนโซล Firebase ยังมีการประเมินกฎความปลอดภัย แดชบอร์ด ซึ่งเป็นมุมมองที่มีประโยชน์โดยย่อของการเรียกใช้กฎ คุณสามารถเสริม แดชบอร์ดนี้พร้อมด้วยการวิเคราะห์โดยละเอียด Cloud Monitoring
เมตริก Cloud Monitoring
Cloud Monitoring รวบรวม เมตริก เหตุการณ์ และข้อมูลเมตาจากผลิตภัณฑ์ Google Cloud การใช้งาน หน้าแดชบอร์ดในคอนโซล Cloud Firestore จะรายงานข้อมูลเมตริกเดียวกัน ถึง ตั้งค่าหน้าแดชบอร์ดและการแจ้งเตือนการใช้งานที่กำหนดเอง ใช้ Cloud Monitoring
Cloud Monitoring ประกอบด้วยเมตริก Cloud Firestore ต่อไปนี้
ชื่อเมตริก | คำอธิบาย |
---|---|
การอ่านเอกสาร |
จำนวนการอ่านเอกสารที่สำเร็จ ซึ่งคุณแบ่งเมตริกนี้ได้ ตามประเภทการอ่าน: LOOKUP หรือ QUERY เมตริกนี้ไม่รวมการอ่านจากการส่งออกที่มีการจัดการ operations. |
การเขียนเอกสาร |
จำนวนการเขียนเอกสารที่สำเร็จ คุณสามารถแจกแจงรายละเอียดเมตริก ตามประเภทการเขียน เช่น "สร้าง" หรือ "อัปเดต" เมตริกนี้ไม่รวมการเขียนจากการนำเข้าที่มีการจัดการ operations. |
การลบเอกสาร | จำนวนการลบเอกสารที่สำเร็จ |
การเชื่อมต่อที่ใช้งานอยู่ |
จำนวนการเชื่อมต่อที่ใช้งานอยู่ไปยังฐานข้อมูลของคุณ 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 นาทีจึงจะปรากฏในแดชบอร์ด
เมตริกเวลาในการตอบสนอง
เมตริกเวลาในการตอบสนองของแบ็กเอนด์มีให้บริการผ่านเมตริก Firestore ทั่วไปของ Google Cloud
เช่น คุณจะดูกราฟเวลาในการตอบสนอง p50 ได้ในมุมมองเครื่องมือสำรวจเมตริกของ Cloud Console
ตั้งค่าหน้าแดชบอร์ด Cloud Monitoring
หากต้องการตั้งค่าหน้าแดชบอร์ดด้วยเมตริก Cloud Firestore โปรดดู จัดการแดชบอร์ดที่กำหนดเอง และ เพิ่มวิดเจ็ตหน้าแดชบอร์ด
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ Cloud Monitoring
- ดูข้อมูลเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับการตรวจสอบประสิทธิภาพของ Firestore