วัดประสิทธิภาพ Firebase Realtime Database ของคุณด้วยเครื่องมือสร้างโปรไฟล์ฐานข้อมูลที่สร้างขึ้นใน Firebase CLI เครื่องมือสร้างโปรไฟล์จะบันทึกกิจกรรมทั้งหมดในฐานข้อมูลของคุณในช่วงเวลาที่กำหนด จากนั้นจึงสร้างรายงานโดยละเอียด ใช้รายงานโดยละเอียดเพื่อแก้ไขปัญหาเกี่ยวกับประสิทธิภาพของฐานข้อมูล ระบุพื้นที่ที่มีปัญหา และลดการค้นหาที่ไม่ได้จัดทำดัชนี
สร้างโปรไฟล์
ก่อนที่คุณจะเริ่มสร้างโปรไฟล์ Firebase Realtime Database ตรวจสอบให้แน่ใจว่าคุณใช้ Firebase CLI เวอร์ชันล่าสุด และคุณได้เตรียมข้อมูลเบื้องต้นสำหรับฐานข้อมูลและโครงการที่คุณต้องการสร้างโปรไฟล์ โปรดทราบว่าคุณต้องเป็นบรรณาธิการหรือเจ้าของโปรเจ็กต์นั้นจึงจะโปรไฟล์ได้
เริ่มทำโปรไฟล์ฐานข้อมูลของคุณด้วยคำสั่งต่อไปนี้:
firebase database:profile
ตัวสร้างโปรไฟล์จะแสดงข้อความสถานะในขณะที่บันทึกการดำเนินการจากฐานข้อมูลของคุณและสร้างโปรไฟล์กด Enter เพื่อกรอกโปรไฟล์และแสดงผล
ตีความผลลัพธ์ของคุณ
เครื่องมือสร้างโปรไฟล์จะรวมข้อมูลที่เก็บรวบรวมเกี่ยวกับการดำเนินงานของฐานข้อมูลของคุณ และแสดงผลลัพธ์ในสามหมวดหมู่หลัก: ความเร็ว แบนด์วิดท์ และ ข้อความค้นหาที่ไม่ได้จัดทำดัชนี
ความเร็ว
รายงานความเร็ววัดเวลาตอบสนองของเซิร์ฟเวอร์ (เป็นมิลลิวินาที) สำหรับการทำงานแต่ละประเภท อย่างไรก็ตาม ความเร็วที่วัดได้ในรายงานความเร็วอาจไม่สะท้อนถึงประสบการณ์ของผู้ใช้ปลายทางอย่างแท้จริง ปัจจัยต่างๆ รวมถึงเงื่อนไขของเครือข่ายสามารถเพิ่มเวลาแฝงในฝั่งไคลเอ็นต์ได้
รายงานความเร็วมีคุณสมบัติดังต่อไปนี้:
- เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่เกิดการดำเนินการ หากมีโหนดย่อยมากกว่า 25 โหนด เครื่องมือสร้างโปรไฟล์จะยุบโหนดเหล่านี้ลงในพาธพาเรนต์และเพิ่มเครื่องหมาย
$wildcard
คุณอาจเห็นไดเรกทอรีรากของฐานข้อมูลในรายงาน ซึ่งแสดงด้วยเครื่องหมายทับ/
- จำนวน: จำนวนการดำเนินการที่เกิดขึ้นในเส้นทางที่กำหนด
- ความเร็วการดำเนินการเฉลี่ย: เวลาเฉลี่ยที่เซิร์ฟเวอร์ใช้ในการดำเนินการตรรกะทางธุรกิจที่จำเป็นในการจัดการประเภทการดำเนินการเฉพาะที่เส้นทางนั้น ช่วงเวลาที่วัดที่นี่เริ่มต้นหลังจากนั้นโดยวัดด้วย "เวลาที่รอดำเนินการเฉลี่ย" ที่อธิบายไว้ด้านล่าง
- เวลารอดำเนินการโดยเฉลี่ย: เวลาเฉลี่ยที่คำขออยู่ในคิวก่อนที่จะดำเนินการ ความล่าช้านี้เป็นเรื่องปกติสำหรับคำขอที่เริ่มต้นโดยไคลเอ็นต์ทั้งหมด เวลาแฝงของคำขอฝั่งเซิร์ฟเวอร์ทั้งหมดคือผลรวมของเวลาที่รอดำเนินการของคำขอนั้นและความเร็วในการดำเนินการโดยประมาณ
- สิทธิ์ถูกปฏิเสธ: จำนวนการดำเนินการที่เส้นทางที่กำหนดซึ่งถูกบล็อกโดย กฎฐานข้อมูล Firebase บนฐานข้อมูลของคุณ
รายงานความเร็วตามประเภทการทำงาน | |
---|---|
อ่านความเร็วในการดำเนินการ | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับคำขอไคลเอนต์เพื่ออ่านข้อมูลจากฐานข้อมูล โดยทั่วไปเวลาในการดำเนินการอ่านจะปรับขนาดตามจำนวนข้อมูลที่อ่าน แต่แม้การอ่านเพียงเล็กน้อยก็อาจล่าช้าได้จากการดึงข้อมูลแคชล่วงหน้า |
ความเร็วในการดำเนินการเขียน | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับคำร้องขอของไคลเอ็นต์ในการเขียนข้อมูลไปยังฐานข้อมูล เวลาในการดำเนินการเขียนจะขึ้นอยู่กับจำนวนข้อมูลที่กำลังเขียน | เชื่อมต่อความเร็วการดำเนินการ | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับการร้องขอเพื่อสร้างไปยังไคลเอ็นต์ฐานข้อมูล เวลาแฝงสำหรับคำขอการเชื่อมต่อถูกควบคุมโดยการทำบัญชีฝั่งเซิร์ฟเวอร์ในหน่วยความจำที่เกี่ยวข้องกับการจัดการการเชื่อมต่อ |
ความเร็วในการดำเนินการออกอากาศ | ระยะเวลาที่เซิร์ฟเวอร์ใช้ในการกระจายข้อมูลไปยังไคลเอนต์ที่รับฟังเส้นทางที่กำหนดสำหรับการอัปเดตตามเวลาจริง คุณสมบัติ Count ในรายงานความเร็วการออกอากาศจะรวมจำนวนการออกอากาศที่เกิดขึ้น ไม่ใช่จำนวนไคลเอนต์ที่ได้รับข้อมูล ตัวอย่างเช่น หากไคลเอ็นต์ 10 เครื่องกำลังฟังในเส้นทางที่กำหนด และเซิร์ฟเวอร์ออกอากาศการอัปเดตไปยังไคลเอนต์ทั้ง 10 เครื่อง จำนวนการออกอากาศจะสะท้อนถึงการออกอากาศเพียง 1 ครั้งเท่านั้น แม้ว่าไคลเอ็นต์ 10 รายจะได้รับข้อมูลก็ตาม คุณสมบัติการปฏิเสธ สิทธิ์ไม่รวมอยู่ในรายงานความเร็วการแพร่ภาพ |
แบนด์วิธ
รายงานแบนด์วิธให้ข้อมูลเชิงลึกเกี่ยวกับปริมาณข้อมูลที่ฐานข้อมูลของคุณใช้ไปทั้งการดำเนินการขาเข้าและขาออก อย่างไรก็ตาม คุณไม่ควรใช้รายงานแบนด์วิดท์เพื่อประเมินการเรียกเก็บเงิน เนื่องจากรายงานนี้ไม่รวมแบนด์วิดท์ที่ใช้สำหรับการดำเนินการอื่นๆ เช่น การทำโปรไฟล์ฐานข้อมูลของคุณ รายงานแบนด์วิธจะประมาณขนาดเพย์โหลดของข้อมูลที่ใช้โดยการอ่าน เขียน และแพร่ภาพไปยังและจากฐานข้อมูลของคุณอย่างคร่าว ๆ เป็นเครื่องมือที่ใช้วัดประสิทธิภาพ ไม่ใช่เครื่องมือที่คาดการณ์การเรียกเก็บเงิน
รายงานแบนด์วิธมีคุณสมบัติดังต่อไปนี้:
เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่เกิดการดำเนินการ หากมีโหนดลูกมากกว่า 25 โหนด เครื่องมือสร้างโปรไฟล์จะยุบโหนดเหล่านี้ลงในพาธพาเรนต์
รวม: ไบต์ขาออกหรือขาเข้าทั้งหมดที่ใช้ระหว่างการดำเนินการทั้งหมดในเส้นทางที่กำหนด
จำนวน: จำนวนการดำเนินการที่เกิดขึ้นในเส้นทางที่กำหนด
ค่าเฉลี่ย: จำนวนเฉลี่ยของไบต์ที่ดาวน์โหลดหรืออัปโหลดระหว่างการดำเนินการตามเส้นทางที่กำหนด (ไบต์/เขียน หรือ ไบต์/อ่าน)
รายงานแบนด์วิธ | |
---|---|
ไบต์ที่ดาวน์โหลด | ข้อมูลที่ใช้ผ่านการอ่านและการออกอากาศที่ส่งออกผ่านไคลเอ็นต์ SDK และ REST API |
ไบต์ที่อัปโหลด | ข้อมูลที่ใช้ผ่านคำขอเขียนที่เข้ามาในเซิร์ฟเวอร์ฐานข้อมูล การลบจะแสดงเป็นการเขียนโดยมี 0 ไบต์อยู่ใต้ขาเข้า |
ข้อความค้นหาที่ไม่ได้จัดทำดัชนี
ข้อความค้นหาที่ไม่ได้จัดทำดัชนีอาจมีราคาแพง เนื่องจากไคลเอ็นต์ดาวน์โหลดข้อมูลทั้งหมดจากตำแหน่งที่ตั้ง จากนั้นดำเนินการค้นหาข้อมูลนั้น สิ่งนี้ใช้แบนด์วิธมากเกินความจำเป็น แก้ไขคำค้นหาที่ไม่ได้จัดทำดัชนีให้ได้มากที่สุดเพื่อเพิ่มประสิทธิภาพการทำงานของฐานข้อมูลของคุณ
รายงาน Query ที่ไม่ได้จัดทำดัชนีแสดงคุณสมบัติต่อไปนี้:
- เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่มีการสืบค้นที่ไม่ได้จัดทำดัชนี
- ดัชนี: กฎที่คุณควรเพิ่มเพื่อแก้ไขข้อความค้นหาที่ไม่ได้จัดทำดัชนี เรียนรู้เพิ่มเติมเกี่ยวกับการจัดทำดัชนีใน Index your data
- จำนวน: จำนวนของข้อความค้นหาที่ไม่ได้จัดทำดัชนีซึ่งเกิดขึ้นที่เส้นทางที่กำหนด
การทำโปรไฟล์ขั้นสูง
หากต้องการดูการดำเนินการทั้งหมดที่ฐานข้อมูลของคุณกำลังจัดการ ให้ใช้แฟล็ก --raw
เมื่อคุณทำโปรไฟล์ฐานข้อมูลของคุณ ดังนี้:
firebase database:profile --raw
เอาต์พุตดิบยังมีข้อมูลไคลเอ็นต์สำหรับแต่ละการดำเนินการ เช่น สตริง userAgent
และที่อยู่ IP เรียนรู้เพิ่มเติมเกี่ยวกับการดำเนินการต่างๆ ที่สร้างโปรไฟล์ใน Firebase Realtime Database ของคุณใน Firebase Realtime Database Operation Types
เครื่องมือสร้างโปรไฟล์: ไม่ใช่เครื่องมือเรียกเก็บเงิน
อย่าใช้เครื่องมือสร้างโปรไฟล์เพื่อประเมินค่าใช้จ่ายแบนด์วิธ เครื่องมือสร้างโปรไฟล์มีวัตถุประสงค์เพื่อให้คุณเห็นภาพรวมของประสิทธิภาพฐานข้อมูลของคุณ เพื่อช่วยคุณตรวจสอบการดำเนินงานและแก้ไขปัญหา ไม่ใช่เพื่อประเมินการเรียกเก็บเงิน ไม่ได้คำนึงถึงทราฟฟิกเครือข่าย แต่จะบันทึกเฉพาะข้อมูลแอปพลิเคชันโดยประมาณที่ส่งในการตอบสนองเท่านั้น
ต่อไปนี้คือตัวอย่างทั่วไปของการรับส่งข้อมูลเครือข่ายที่เรียกเก็บเงินโดย Firebase ซึ่งไม่ครอบคลุมในโปรไฟล์ฐานข้อมูลของคุณ:
- โอเวอร์เฮดของโปรโตคอล: การรับส่งข้อมูลเพิ่มเติมบางอย่างระหว่างเซิร์ฟเวอร์และไคลเอ็นต์จำเป็นต่อการสร้างและดูแลเซสชัน การรับส่งข้อมูลนี้อาจรวมถึง: โอเวอร์เฮดโปรโตคอลเรียลไทม์ของ Firebase Realtime Database, โอเวอร์เฮดของ WebSocket และโอเวอร์เฮด HTTP ทั้งนี้ขึ้นอยู่กับโปรโตคอลพื้นฐาน ทุกครั้งที่สร้างการเชื่อมต่อ โอเวอร์เฮดนี้เมื่อรวมกับโอเวอร์เฮดการเข้ารหัส SSL ใดๆ จะทำให้เกิดค่าใช้จ่ายในการเชื่อมต่อ แม้ว่าโดยปกติแล้วจะไม่ใช่แบนด์วิดท์จำนวนมาก แต่ก็สามารถมีจำนวนมากได้หากเพย์โหลดของคุณมีขนาดเล็กหรือคุณทำการเชื่อมต่อสั้น ๆ บ่อย ๆ
- ค่าใช้จ่ายในการเข้ารหัส SSL: มีค่าใช้จ่ายที่เกี่ยวข้องกับค่าใช้จ่ายในการเข้ารหัส SSL ที่จำเป็นสำหรับการเชื่อมต่อที่ปลอดภัย โดยเฉลี่ยแล้ว ค่าใช้จ่ายนี้จะอยู่ที่ประมาณ 3.5KB สำหรับการจับมือครั้งแรก และประมาณ 40B สำหรับส่วนหัวของบันทึก TLS ในแต่ละข้อความขาออก สำหรับแอปส่วนใหญ่ นี่เป็นเปอร์เซ็นต์เล็กน้อยของค่าบริการของคุณ อย่างไรก็ตาม นี่อาจกลายเป็นเปอร์เซ็นต์ที่มาก หากกรณีเฉพาะของคุณต้องการการจับมือ SSL จำนวนมาก ตัวอย่างเช่น อุปกรณ์ที่ไม่รองรับตั๋วเซสชัน TLS อาจต้องใช้การเชื่อมต่อ SSL จำนวนมาก
อ่านเพิ่มเติมเกี่ยวกับ การทำความเข้าใจและการประมาณการบิลของคุณ
,วัดประสิทธิภาพ Firebase Realtime Database ของคุณด้วยเครื่องมือสร้างโปรไฟล์ฐานข้อมูลที่สร้างขึ้นใน Firebase CLI เครื่องมือสร้างโปรไฟล์จะบันทึกกิจกรรมทั้งหมดในฐานข้อมูลของคุณในช่วงเวลาที่กำหนด จากนั้นจึงสร้างรายงานโดยละเอียด ใช้รายงานโดยละเอียดเพื่อแก้ไขปัญหาเกี่ยวกับประสิทธิภาพของฐานข้อมูล ระบุพื้นที่ที่มีปัญหา และลดการค้นหาที่ไม่ได้จัดทำดัชนี
สร้างโปรไฟล์
ก่อนที่คุณจะเริ่มสร้างโปรไฟล์ Firebase Realtime Database ตรวจสอบให้แน่ใจว่าคุณใช้ Firebase CLI เวอร์ชันล่าสุด และคุณได้เตรียมข้อมูลเบื้องต้นสำหรับฐานข้อมูลและโครงการที่คุณต้องการสร้างโปรไฟล์ โปรดทราบว่าคุณต้องเป็นบรรณาธิการหรือเจ้าของโปรเจ็กต์นั้นจึงจะโปรไฟล์ได้
เริ่มทำโปรไฟล์ฐานข้อมูลของคุณด้วยคำสั่งต่อไปนี้:
firebase database:profile
ตัวสร้างโปรไฟล์จะแสดงข้อความสถานะในขณะที่บันทึกการดำเนินการจากฐานข้อมูลของคุณและสร้างโปรไฟล์กด Enter เพื่อกรอกโปรไฟล์และแสดงผล
ตีความผลลัพธ์ของคุณ
เครื่องมือสร้างโปรไฟล์จะรวมข้อมูลที่เก็บรวบรวมเกี่ยวกับการดำเนินงานของฐานข้อมูลของคุณ และแสดงผลลัพธ์ในสามหมวดหมู่หลัก: ความเร็ว แบนด์วิดท์ และ ข้อความค้นหาที่ไม่ได้จัดทำดัชนี
ความเร็ว
รายงานความเร็ววัดเวลาตอบสนองของเซิร์ฟเวอร์ (เป็นมิลลิวินาที) สำหรับการทำงานแต่ละประเภท อย่างไรก็ตาม ความเร็วที่วัดได้ในรายงานความเร็วอาจไม่สะท้อนถึงประสบการณ์ของผู้ใช้ปลายทางอย่างแท้จริง ปัจจัยต่างๆ รวมถึงเงื่อนไขของเครือข่ายสามารถเพิ่มเวลาแฝงในฝั่งไคลเอ็นต์ได้
รายงานความเร็วมีคุณสมบัติดังต่อไปนี้:
- เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่เกิดการดำเนินการ หากมีโหนดย่อยมากกว่า 25 โหนด เครื่องมือสร้างโปรไฟล์จะยุบโหนดเหล่านี้ลงในพาธพาเรนต์และเพิ่มเครื่องหมาย
$wildcard
คุณอาจเห็นไดเรกทอรีรากของฐานข้อมูลในรายงาน ซึ่งแสดงด้วยเครื่องหมายทับ/
- จำนวน: จำนวนการดำเนินการที่เกิดขึ้นในเส้นทางที่กำหนด
- ความเร็วการดำเนินการเฉลี่ย: เวลาเฉลี่ยที่เซิร์ฟเวอร์ใช้ในการดำเนินการตรรกะทางธุรกิจที่จำเป็นในการจัดการประเภทการดำเนินการเฉพาะที่เส้นทางนั้น ช่วงเวลาที่วัดที่นี่เริ่มต้นหลังจากนั้นโดยวัดด้วย "เวลาที่รอดำเนินการเฉลี่ย" ที่อธิบายไว้ด้านล่าง
- เวลารอดำเนินการโดยเฉลี่ย: เวลาเฉลี่ยที่คำขออยู่ในคิวก่อนที่จะดำเนินการ ความล่าช้านี้เป็นเรื่องปกติสำหรับคำขอที่เริ่มต้นโดยไคลเอ็นต์ทั้งหมด เวลาแฝงของคำขอฝั่งเซิร์ฟเวอร์ทั้งหมดคือผลรวมของเวลาที่รอดำเนินการของคำขอนั้นและความเร็วในการดำเนินการโดยประมาณ
- สิทธิ์ถูกปฏิเสธ: จำนวนการดำเนินการที่เส้นทางที่กำหนดซึ่งถูกบล็อกโดย กฎฐานข้อมูล Firebase บนฐานข้อมูลของคุณ
รายงานความเร็วตามประเภทการทำงาน | |
---|---|
อ่านความเร็วในการดำเนินการ | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับคำขอไคลเอนต์เพื่ออ่านข้อมูลจากฐานข้อมูล โดยทั่วไปเวลาในการดำเนินการอ่านจะปรับขนาดตามจำนวนข้อมูลที่อ่าน แต่แม้การอ่านเพียงเล็กน้อยก็อาจล่าช้าได้จากการดึงข้อมูลแคชล่วงหน้า |
ความเร็วในการดำเนินการเขียน | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับคำร้องขอของไคลเอ็นต์ในการเขียนข้อมูลไปยังฐานข้อมูล เวลาในการดำเนินการเขียนจะขึ้นอยู่กับจำนวนข้อมูลที่กำลังเขียน | เชื่อมต่อความเร็วการดำเนินการ | เวลาตอบสนองของเซิร์ฟเวอร์สำหรับการร้องขอเพื่อสร้างไปยังไคลเอ็นต์ฐานข้อมูล เวลาแฝงสำหรับคำขอการเชื่อมต่อถูกควบคุมโดยการทำบัญชีฝั่งเซิร์ฟเวอร์ในหน่วยความจำที่เกี่ยวข้องกับการจัดการการเชื่อมต่อ |
ความเร็วในการดำเนินการออกอากาศ | ระยะเวลาที่เซิร์ฟเวอร์ใช้ในการกระจายข้อมูลไปยังไคลเอนต์ที่รับฟังเส้นทางที่กำหนดสำหรับการอัปเดตตามเวลาจริง คุณสมบัติ Count ในรายงานความเร็วการออกอากาศจะรวมจำนวนการออกอากาศที่เกิดขึ้น ไม่ใช่จำนวนไคลเอนต์ที่ได้รับข้อมูล ตัวอย่างเช่น หากไคลเอ็นต์ 10 เครื่องกำลังฟังในเส้นทางที่กำหนด และเซิร์ฟเวอร์ออกอากาศการอัปเดตไปยังไคลเอนต์ทั้ง 10 เครื่อง จำนวนการออกอากาศจะสะท้อนถึงการออกอากาศเพียง 1 ครั้งเท่านั้น แม้ว่าไคลเอ็นต์ 10 รายจะได้รับข้อมูลก็ตาม คุณสมบัติการปฏิเสธ สิทธิ์ไม่รวมอยู่ในรายงานความเร็วการแพร่ภาพ |
แบนด์วิธ
รายงานแบนด์วิธให้ข้อมูลเชิงลึกเกี่ยวกับปริมาณข้อมูลที่ฐานข้อมูลของคุณใช้ไปทั้งการดำเนินการขาเข้าและขาออก อย่างไรก็ตาม คุณไม่ควรใช้รายงานแบนด์วิดท์เพื่อประเมินการเรียกเก็บเงิน เนื่องจากรายงานนี้ไม่รวมแบนด์วิดท์ที่ใช้สำหรับการดำเนินการอื่นๆ เช่น การทำโปรไฟล์ฐานข้อมูลของคุณ รายงานแบนด์วิธจะประมาณขนาดเพย์โหลดของข้อมูลที่ใช้โดยการอ่าน เขียน และแพร่ภาพไปยังและจากฐานข้อมูลของคุณอย่างคร่าว ๆ เป็นเครื่องมือที่ใช้วัดประสิทธิภาพ ไม่ใช่เครื่องมือที่คาดการณ์การเรียกเก็บเงิน
รายงานแบนด์วิธมีคุณสมบัติดังต่อไปนี้:
เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่เกิดการดำเนินการ หากมีโหนดลูกมากกว่า 25 โหนด เครื่องมือสร้างโปรไฟล์จะยุบโหนดเหล่านี้ลงในพาธพาเรนต์
รวม: ไบต์ขาออกหรือขาเข้าทั้งหมดที่ใช้ระหว่างการดำเนินการทั้งหมดในเส้นทางที่กำหนด
จำนวน: จำนวนการดำเนินการที่เกิดขึ้นในเส้นทางที่กำหนด
ค่าเฉลี่ย: จำนวนเฉลี่ยของไบต์ที่ดาวน์โหลดหรืออัปโหลดระหว่างการดำเนินการตามเส้นทางที่กำหนด (ไบต์/เขียน หรือ ไบต์/อ่าน)
รายงานแบนด์วิธ | |
---|---|
ไบต์ที่ดาวน์โหลด | ข้อมูลที่ใช้ผ่านการอ่านและการออกอากาศที่ส่งออกผ่านไคลเอ็นต์ SDK และ REST API |
ไบต์ที่อัปโหลด | ข้อมูลที่ใช้ผ่านคำขอเขียนที่เข้ามาในเซิร์ฟเวอร์ฐานข้อมูล การลบจะแสดงเป็นการเขียนโดยมี 0 ไบต์อยู่ใต้ขาเข้า |
ข้อความค้นหาที่ไม่ได้จัดทำดัชนี
ข้อความค้นหาที่ไม่ได้จัดทำดัชนีอาจมีราคาแพง เนื่องจากไคลเอ็นต์ดาวน์โหลดข้อมูลทั้งหมดจากตำแหน่งที่ตั้ง จากนั้นดำเนินการค้นหาข้อมูลนั้น สิ่งนี้ใช้แบนด์วิธมากเกินความจำเป็น แก้ไขคำค้นหาที่ไม่ได้จัดทำดัชนีให้ได้มากที่สุดเพื่อเพิ่มประสิทธิภาพการทำงานของฐานข้อมูลของคุณ
รายงาน Query ที่ไม่ได้จัดทำดัชนีแสดงคุณสมบัติต่อไปนี้:
- เส้นทาง: เส้นทางในฐานข้อมูลของคุณที่มีการสืบค้นที่ไม่ได้จัดทำดัชนี
- ดัชนี: กฎที่คุณควรเพิ่มเพื่อแก้ไขข้อความค้นหาที่ไม่ได้จัดทำดัชนี เรียนรู้เพิ่มเติมเกี่ยวกับการจัดทำดัชนีใน Index your data
- จำนวน: จำนวนของข้อความค้นหาที่ไม่ได้จัดทำดัชนีซึ่งเกิดขึ้นที่เส้นทางที่กำหนด
การทำโปรไฟล์ขั้นสูง
หากต้องการดูการดำเนินการทั้งหมดที่ฐานข้อมูลของคุณกำลังจัดการ ให้ใช้แฟล็ก --raw
เมื่อคุณทำโปรไฟล์ฐานข้อมูลของคุณ ดังนี้:
firebase database:profile --raw
เอาต์พุตดิบยังมีข้อมูลไคลเอ็นต์สำหรับแต่ละการดำเนินการ เช่น สตริง userAgent
และที่อยู่ IP เรียนรู้เพิ่มเติมเกี่ยวกับการดำเนินการต่างๆ ที่สร้างโปรไฟล์ใน Firebase Realtime Database ของคุณใน Firebase Realtime Database Operation Types
เครื่องมือสร้างโปรไฟล์: ไม่ใช่เครื่องมือเรียกเก็บเงิน
อย่าใช้เครื่องมือสร้างโปรไฟล์เพื่อประเมินค่าใช้จ่ายแบนด์วิธ เครื่องมือสร้างโปรไฟล์มีวัตถุประสงค์เพื่อให้คุณเห็นภาพรวมของประสิทธิภาพฐานข้อมูลของคุณ เพื่อช่วยคุณตรวจสอบการดำเนินงานและแก้ไขปัญหา ไม่ใช่เพื่อประเมินการเรียกเก็บเงิน ไม่ได้คำนึงถึงทราฟฟิกเครือข่าย แต่จะบันทึกเฉพาะข้อมูลแอปพลิเคชันโดยประมาณที่ส่งในการตอบสนองเท่านั้น
ต่อไปนี้คือตัวอย่างทั่วไปของการรับส่งข้อมูลเครือข่ายที่เรียกเก็บเงินโดย Firebase ซึ่งไม่ครอบคลุมในโปรไฟล์ฐานข้อมูลของคุณ:
- โอเวอร์เฮดของโปรโตคอล: การรับส่งข้อมูลเพิ่มเติมบางอย่างระหว่างเซิร์ฟเวอร์และไคลเอ็นต์จำเป็นต่อการสร้างและดูแลเซสชัน การรับส่งข้อมูลนี้อาจรวมถึง: โอเวอร์เฮดโปรโตคอลเรียลไทม์ของ Firebase Realtime Database, โอเวอร์เฮดของ WebSocket และโอเวอร์เฮด HTTP ทั้งนี้ขึ้นอยู่กับโปรโตคอลพื้นฐาน ทุกครั้งที่สร้างการเชื่อมต่อ โอเวอร์เฮดนี้เมื่อรวมกับโอเวอร์เฮดการเข้ารหัส SSL ใดๆ จะทำให้เกิดค่าใช้จ่ายในการเชื่อมต่อ แม้ว่าโดยปกติแล้วจะไม่ใช่แบนด์วิดท์จำนวนมาก แต่ก็สามารถมีจำนวนมากได้หากเพย์โหลดของคุณมีขนาดเล็กหรือคุณทำการเชื่อมต่อสั้น ๆ บ่อย ๆ
- ค่าใช้จ่ายในการเข้ารหัส SSL: มีค่าใช้จ่ายที่เกี่ยวข้องกับค่าใช้จ่ายในการเข้ารหัส SSL ที่จำเป็นสำหรับการเชื่อมต่อที่ปลอดภัย โดยเฉลี่ยแล้ว ค่าใช้จ่ายนี้จะอยู่ที่ประมาณ 3.5KB สำหรับการจับมือครั้งแรก และประมาณ 40B สำหรับส่วนหัวของบันทึก TLS ในแต่ละข้อความขาออก สำหรับแอปส่วนใหญ่ นี่เป็นเปอร์เซ็นต์เล็กน้อยของค่าบริการของคุณ อย่างไรก็ตาม นี่อาจกลายเป็นเปอร์เซ็นต์ที่มาก หากกรณีเฉพาะของคุณต้องการการจับมือ SSL จำนวนมาก ตัวอย่างเช่น อุปกรณ์ที่ไม่รองรับตั๋วเซสชัน TLS อาจต้องใช้การเชื่อมต่อ SSL จำนวนมาก
อ่านเพิ่มเติมเกี่ยวกับ การทำความเข้าใจและการประมาณการบิลของคุณ