หน้านี้อธิบายวิธีตรวจสอบการใช้งาน Cloud Firestore และตรวจหาปัญหาที่อาจเกิดขึ้นในแอป
แดชบอร์ดการใช้งาน
ใช้แดชบอร์ดการใช้งานในคอนโซล Google Cloud และคอนโซล Firebase เพื่อดูการอ่าน การเขียน และการลบเอกสารเมื่อเวลาผ่านไป
การควบคุมการเข้าถึง
แดชบอร์ดการใช้งานต้องใช้สิทธิ์ monitoring.timeSeries.list Cloud IAM
บทบาทเจ้าของ ผู้แก้ไข และผู้ดูโปรเจ็กต์จะให้สิทธิ์นี้ นอกจากนี้ คุณยังให้สิทธิ์นี้ผ่านบทบาท Cloud Monitoring หรือบทบาทที่กำหนดเองได้ด้วย
แดชบอร์ดการใช้งานฐานข้อมูล
หากต้องการดูเมตริกการใช้งานสำหรับฐานข้อมูล Cloud Firestore ให้เปิดหน้าการใช้งานฐานข้อมูลในคอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการใช้งาน
คลิกลิงก์ในข้อความที่ปรากฏในหน้าเพื่อดูการใช้งานฐานข้อมูล

แดชบอร์ดการใช้งานแบบรวม
หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายฐานข้อมูล คุณสามารถดูเมตริกการใช้งานรวมในคอนโซล Google Cloud หรือคอนโซล Firebase
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าการใช้งานโปรเจ็กต์
ไปที่การใช้งานโปรเจ็กต์ Google Cloud
แดชบอร์ดการใช้งานโปรเจ็กต์จะแสดงการดำเนินการกับเอกสารเมื่อเวลาผ่านไปดังนี้

คอนโซล Firebase
ไปที่หน้าการใช้งาน Cloud Firestore (คอนโซล Firebase)

แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน
แดชบอร์ดการใช้งาน Cloud Firestore ในคอนโซล Firebase และ Cloud จะแสดงค่าประมาณการใช้งาน ซึ่งจะช่วยให้คุณระบุการใช้งานที่เพิ่มขึ้นอย่างรวดเร็วได้ อย่างไรก็ตาม แดชบอร์ดนี้ไม่ใช่ข้อมูลที่แน่นอนของการดำเนินการที่เรียกเก็บเงิน การใช้งานที่เรียกเก็บเงินจึงน่าจะสูงกว่า ในกรณีที่เกิดความคลาดเคลื่อนทั้งหมด รายงานการเรียกเก็บเงินจะมีความสำคัญเหนือกว่าแดชบอร์ดการใช้งาน
การดำเนินการที่ทำให้เกิดความคลาดเคลื่อนระหว่างแดชบอร์ดการใช้งานและการใช้งานที่เรียกเก็บเงิน ได้แก่
- การดำเนินการนำเข้าและส่งออก การอ่านและการเขียนที่ดำเนินการโดยการดำเนินการเหล่านี้จะไม่แสดงในแดชบอร์ดการใช้งาน
- การเขียนแบบยืนยันเท่านั้นที่ไม่มีการดำเนินการ การเขียนที่ยืนยันเฉพาะการมีอยู่หรือไม่มีอยู่ของเอกสารจะนับเป็นการดำเนินการอ่านที่เรียกเก็บเงิน แต่จะแสดงเป็น
UPDATE_NOOPและDELETE_NOOPตามลำดับในแดชบอร์ดการใช้งานการเขียน - การเขียนแบบ No-op การดำเนินการที่ไม่ส่งผลให้เกิดการเปลี่ยนแปลงในฐานข้อมูล เช่น การอัปเดตที่ไม่เปลี่ยนค่าในช่องหรือการเขียนลงในเอกสารที่ลบไปแล้ว อาจแสดงในแดชบอร์ดการใช้งานเป็น
UPDATE_NOOPหรือDELETE_NOOPแม้ว่าจะแสดงเป็นNOOPแต่ก็ยังคงมีส่วนในการดำเนินการที่เรียกเก็บเงิน การเขียนที่ยุบ ในกรณีที่มีการเขียนหลายครั้งในเอกสารเดียวกันอย่างรวดเร็วและต่อเนื่อง แดชบอร์ดการใช้งานอาจยุบการเขียนหลายครั้งรวมกันและนับเป็น 1 ครั้ง เมื่อเรียกเก็บเงินตามการใช้งาน ระบบจะยังคงนับการเขียนแต่ละครั้งแยกกัน
แดชบอร์ดการใช้งานยังยุบการเขียนสำหรับการเปลี่ยนรูปแบบฟิลด์ เช่น การประทับเวลาของเซิร์ฟเวอร์ การเพิ่มตัวเลข และการดำเนินการรวมอาร์เรย์ สำหรับการเปลี่ยนรูปแบบฟิลด์ แดชบอร์ดการใช้งานอาจนับการดำเนินการหลายรายการเป็นการดำเนินการเดียว
- คำค้นหาที่ไม่แสดงผลลัพธ์ การค้นหาที่ไม่มีผลลัพธ์จะทำให้เกิดค่าใช้จ่ายในการดำเนินการอ่าน 1 ครั้ง ระบบจะเรียกเก็บเงินสำหรับการใช้งานนี้ แต่จะไม่ปรากฏในแดชบอร์ดการใช้งาน
- การดำเนินการอ่านจากรายการดัชนีที่อ่าน ระบบจะเรียกเก็บเงินสำหรับการใช้งานนี้ แต่จะไม่ปรากฏในแดชบอร์ดการใช้งาน ตัวอย่างเช่น การค้นหาการรวมจะเรียกเก็บเงินสำหรับรายการดัชนีที่อ่าน แต่การใช้งานนี้จะไม่ปรากฏในแดชบอร์ดการใช้งาน
- คำขอแสดงรายการรหัสคอลเล็กชัน แดชบอร์ดการใช้งานจะรายงานการดำเนินการอ่าน 1 ครั้งต่อรหัสคอลเล็กชัน ซึ่งแตกต่างจากการเรียกเก็บเงิน
แดชบอร์ดการใช้งานสำหรับการลบจะไม่บันทึกการดำเนินการหมดอายุอัตโนมัติที่ดำเนินการโดยนโยบายระยะเวลาที่เก็บข้อมูล (TTL) โปรดดูเมตริก TTL จาก Cloud Monitoring
การใช้กฎความปลอดภัย
นอกจากนี้ คอนโซล Firebase ยังมีแดชบอร์ดการประเมินกฎความปลอดภัยของ Firebase ซึ่งเป็นมุมมองการเรียกใช้กฎที่เข้าใจง่ายและมีประโยชน์ นอกจากนี้ คุณยังตรวจสอบการใช้งานกฎความปลอดภัยของ Firebase ผ่าน Cloud Monitoring ได้ด้วย ซึ่งจะให้เมตริกการประเมินกฎเดียวกัน พร้อมกับความสามารถในการสร้างแดชบอร์ดที่กำหนดเอง วิเคราะห์แนวโน้ม และกำหนดค่าการแจ้งเตือน (เช่น เมื่อคำขอที่ถูกปฏิเสธเพิ่มขึ้นอย่างรวดเร็ว) ดูรายการเมตริกทั้งหมดที่ใช้ได้ในข้อมูลอ้างอิงเมตริก Cloud Monitoring

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