ฉันมีบันทึกเครือข่ายต่อไปนี้ใน chrome:
ฉันไม่เข้าใจสิ่งใดสิ่งหนึ่ง: สิ่งที่แตกต่างระหว่างแท่งสีเทาที่เติมและแท่งสีเทาใส
ฉันมีบันทึกเครือข่ายต่อไปนี้ใน chrome:
ฉันไม่เข้าใจสิ่งใดสิ่งหนึ่ง: สิ่งที่แตกต่างระหว่างแท่งสีเทาที่เติมและแท่งสีเทาใส
คำตอบ:
Google แสดงรายละเอียดของฟิลด์เหล่านี้ในส่วนการประเมินประสิทธิภาพเครือข่ายของเอกสาร DevTools
จนตรอก / ปิดกั้น
เวลาที่คำขอใช้เวลารอก่อนที่จะสามารถส่งได้ เวลานี้รวมเวลาที่ใช้ในการเจรจาพร็อกซี นอกจากนี้ในครั้งนี้จะรวมถึงเมื่อเบราว์เซอร์กำลังรอการเชื่อมต่อที่สร้างไว้แล้วเพื่อให้สามารถใช้งานได้อีกครั้งโดยปฏิบัติตามการเชื่อมต่อ TCP หกสูงสุดของ Chrome ต่อกฎดั้งเดิม
(หากคุณลืม Chrome มีลิงก์ "คำอธิบาย" ในคำแนะนำเครื่องมือโฮเวอร์และใต้แผง "เวลา")
โดยพื้นฐานแล้วเหตุผลหลักที่คุณจะเห็นนี้คือเพราะ Chrome จะดาวน์โหลดเพียง 6 ไฟล์ต่อเซิร์ฟเวอร์ในแต่ละครั้งและคำขออื่น ๆ จะถูกหยุดจนกว่าจะมีช่องเสียบการเชื่อมต่อ
นี่ไม่ใช่สิ่งที่จำเป็นต้องมีการแก้ไข แต่วิธีหนึ่งที่จะหลีกเลี่ยงสถานะจนตรอกคือการกระจายไฟล์ข้ามชื่อโดเมนและ / หรือเซิร์ฟเวอร์หลาย ๆ ตัวทำให้CORSอยู่ในใจหากเหมาะสมกับความต้องการของคุณอย่างไรก็ตาม HTTP2 อาจเป็นตัวเลือกที่ดีกว่า ดำเนินต่อไป. การรวมทรัพยากร (เช่นการต่อข้อมูล JS และ CSS) สามารถช่วยลดปริมาณการเชื่อมต่อที่ค้างอยู่ได้
file:///C:/...
DevTools: [เครือข่าย] อธิบายแถบว่างที่มาก่อนคำขอ
สำรวจเพิ่มเติมและระบุว่าไม่มีความแตกต่างอย่างมีนัยสำคัญระหว่างช่วง Stalled และ Queuing ของเรา ทั้งสองถูกคำนวณจากเดลตาของการประทับเวลาอื่น ๆ แทนที่จะจัดเตรียมจาก netstack หรือ renderer
ปัจจุบันหากเรากำลังรอให้ซ็อกเก็ตใช้งานได้:
- เราจะเรียกมันว่าหยุดทำงานหากมีการเจรจาพร็อกซีเกิดขึ้น
- เราจะเรียกมันว่าเข้าคิวถ้าไม่ต้องการงาน proxy / ssl
นี้มาจากเว็บไซต์อย่างเป็นทางการของ Chome-devtools และช่วย ที่นี่ฉันพูด:
- การจัดคิว หากมีคำขอแสดงว่า:
- คำร้องขอถูกเลื่อนออกไปโดยเอ็นจินการแสดงผลเนื่องจากถือว่าเป็นลำดับความสำคัญต่ำกว่าทรัพยากรที่สำคัญ (เช่นสคริปต์ / สไตล์) สิ่งนี้มักเกิดขึ้นกับรูปภาพ
- คำขอถูกพักไว้เพื่อรอซ็อกเก็ต TCP ที่ใช้งานไม่ได้ซึ่งกำลังจะหมด
- คำขอถูกพักไว้เนื่องจากเบราว์เซอร์อนุญาตการเชื่อมต่อ TCP ได้หกครั้งต่อหนึ่งรายการบน HTTP 1 เวลาที่ใช้ในการสร้างรายการแคชดิสก์ (โดยทั่วไปจะรวดเร็วมาก)
- Stalled / Blocking Time คำขอที่ใช้รอก่อนที่จะสามารถส่งได้ อาจรอด้วยเหตุผลใด ๆ ที่อธิบายไว้สำหรับการจัดคิว นอกจากนี้เวลานี้รวมเวลาที่ใช้ในการเจรจาพร็อกซี
กรณีของฉันคือหน้ากำลังส่งคำขอหลายคำขอพร้อมพารามิเตอร์ที่แตกต่างกันเมื่อเปิด ดังนั้นส่วนใหญ่จะถูก "จนตรอก" คำขอต่อไปนี้ที่ส่งทันทีจะได้รับ "จนตรอก" การหลีกเลี่ยงคำขอที่ไม่จำเป็นจะดีกว่า (เป็นการขี้เกียจ ... )
เนื่องจากมีหลายคนมาที่นี่การดีบักเว็บไซต์ที่ช้าของพวกเขาฉันต้องการแจ้งให้คุณทราบเกี่ยวกับกรณีของฉันซึ่งไม่มีคำอธิบายของ Google ที่ช่วยแก้ไขปัญหาได้ ครั้งใหญ่ของฉันจนตรอก (บางครั้ง 1 นาที) เกิดจาก Apache ที่ทำงานบน Windows ที่มีเธรดผู้ทำงานน้อยเกินไปที่จะจัดการการเชื่อมต่อดังนั้นพวกเขาจึงถูกจัดคิว
สิ่งนี้อาจนำไปใช้กับคุณหากคุณบันทึก apache มีบันทึกต่อไปนี้:
Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
ปัญหานี้ได้รับการแก้ไขใน Apache httpd.conf ไม่ใส่ข้อคิดเห็น: รวม conf / พิเศษ / httpd-mpm.conf
และแก้ไข httpd-mpm.conf
<IfModule mpm_winnt_module>
ThreadLimit 2000
ThreadsPerChild 2000
MaxConnectionsPerChild 0
</IfModule>
โปรดทราบว่าคุณอาจไม่ต้องการ 2,000 เธรดหรืออาจต้องการเพิ่มเติม 2000 ก็โอเคสำหรับกรณีของฉัน