เหตุใดเนื้อหาจึงดาวน์โหลดในแท็บเครือข่ายนานกว่าหนึ่งนาทีสำหรับการสืบค้น Firestore

เมื่อฉันสืบค้นฐานข้อมูล Firestore ดูเหมือนว่าจะดำเนินการอย่างรวดเร็ว - ฉันได้รับข้อมูลกลับมาและแสดงผลสิ่งที่ต้องการบนหน้าจอ แต่เมื่อฉันดูคำขอในแท็บเครือข่ายของเครื่องมือนักพัฒนา Chrome ส่วนเนื้อหาที่ดาวน์โหลด (แถบสีน้ำเงิน) แสดงว่าต้องใช้เวลาดาวน์โหลดนานกว่านาที ทำไมสิ่งนี้ถึงเกิดขึ้น? ข้อมูลจะถูกดึงและแสดงผลได้เร็วกว่านั้นมาก และขนาดของข้อมูลที่ส่งคืนก็ไม่ใหญ่มากนัก (ถ่ายโอน 12.7kB ผ่านเครือข่าย) นี่คือภาพหน้าจอ:

สกรีนช็อตของแท็บเครือข่าย

นี่เป็นสิ่งที่ฉันควรกังวลหรือไม่? ฉันแค่ต้องการความชัดเจน/ความเข้าใจเกี่ยวกับปัญหานี้จริงๆ เพราะขณะนี้ฉันสับสนว่าทำไมการค้นหาจึงดูรวดเร็วมากในแง่ของสิ่งที่ฉันเห็นบนหน้าจอ กับเหตุใดการดาวน์โหลดเนื้อหาจึงใช้เวลานานมาก

สำหรับบริบท สิ่งนี้เกิดขึ้นในแอป React ที่สร้างด้วย create-react-app




คำตอบ (1)


Firestore JavaScript SDK ใช้ช่องทางเว็บเป็นโปรโตคอลสำหรับการพูดคุยกับเซิร์ฟเวอร์ ซึ่งหมายความว่าจะเปิดการเชื่อมต่อ HTTP ที่มีอายุการใช้งานยาวนาน ซึ่งเซิร์ฟเวอร์สามารถแจ้งให้ไคลเอ็นต์ทราบถึงการอัปเดตข้อมูล ซึ่งเป็นกระบวนการที่เรียกว่าการโพลแบบยาว

สิ่งที่คุณเห็นในแท็บเครือข่ายคือการโพลที่ยาวนาน: การเชื่อมต่อที่เปิดอยู่และรับข้อมูลเป็นเวลานาน แต่นั่นไม่ได้ทำให้เกิดปัญหาด้านประสิทธิภาพในแอปของคุณ นี่เป็นส่วนปกติของโปรโตคอลแบบใช้สายของ Firestore และไม่ใช่เรื่องที่ต้องกังวล

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

person Frank van Puffelen    schedule 06.01.2021