한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

คู่มือเกมแลค › L3 เครือข่ายในบ้าน

bufferbloat (คิวในเราเตอร์) Bufferbloat

ID สาเหตุ hn-bufferbloat · ผู้รับผิดชอบหลัก ภายนอก (ภายนอก) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)

เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →

เมื่อมีคนในบ้านอัปโหลดวิดีโอหรือดาวน์โหลดไฟล์ใหญ่ แพ็กเก็ตจะกองอยู่ในคิวของเราเตอร์ยาวเป็นหลายร้อย ms และแพ็กเก็ตเกมก็ต้องรอต่อท้าย

ทำไม คนในบ้านอัปโหลดวิดีโอหรือสำรองข้อมูลขึ้นคลาวด์, เราสตรีมออกอากาศ หรือดาวน์โหลดไฟล์ใหญ่ จนเน็ตเต็ม → ผลคือ เราเตอร์หรือโมเด็มเก็บแพ็กเก็ตที่ล้นไว้ในคิวขนาดใหญ่ → บนหน้าจอ แพ็กเก็ตเกมก็ต้องรอท้ายคิว ปิงพุ่งขึ้นไปหลายร้อย ms

อาการ
อินพุตดีเลย์, กรอเร็ว, วาร์ป
ปัจจัย
ความหน่วง, จิตเตอร์
ใครเจอ
คนในบ้านเดียวกัน, เราคนเดียว
เกิดเมื่อไร
สุ่มเป็นครั้งคราว, ช่วงพีคหัวค่ำ
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก ภายนอก (ภายนอก) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)
งานฝั่งทีมพัฒนาเกม
ถ้าปิงขึ้นไปหลายร้อย ms กะทันหัน ให้แสดงสถานะเครือข่ายบนจอ (บอกว่าอาจมีการรับส่งข้อมูลจำนวนมากบนเน็ตเดียวกัน)
งานฝั่งภายนอก
แนะนำให้ผู้เล่นใช้เราเตอร์ที่มี SQM (fq_codel, CAKE) หรือ QoS, ตั้งความเร็ว SQM ไว้ที่ 90–95% ของความเร็วเน็ต (คิวจึงจะไปเกิดในเราเตอร์และได้ผล), จำกัดความเร็วอัปโหลด
ตัวเลขที่ควรรู้
เน็ตอัปโหลด 10 Mbps กับบัฟเฟอร์ 1 MB ทำให้คิวยาวได้ถึง 800 ms
บนกราฟ
สูงตามจำนวนคนและโหลด · RTT, ปริมาณการใช้อัปโหลด/ดาวน์โหลดของเน็ต
จุดที่ต้องดู
เปิดปิงทิ้งไว้แล้วใช้การทดสอบความเร็วทำให้เน็ตเต็ม หรือใช้เว็บทดสอบที่วัดดีเลย์ขณะมีโหลด (ตามคำแนะนำของ Bufferbloat.net) แล้วดูคู่กับปริมาณการใช้อัปโหลด/ดาวน์โหลดในหน้าจอของเราเตอร์
สัญญาณว่าใช่
ระหว่างที่อัปโหลดหรือดาวน์โหลดเต็มเน็ต ปิงขึ้นไปหลายร้อย ms และกลับมาเมื่อส่งเสร็จ (ถ้าดีเลย์ขณะมีโหลดเกิน 50 ms ให้สงสัย) เปิด SQM แล้วหายไป
สัญญาณว่าไม่ใช่
เน็ตว่างแต่ปิงยังพุ่ง: น่าจะเป็น “Wi-Fi ถูกรบกวนหรือสัญญาณอ่อน” หรือ “คุณภาพสายเน็ตแย่”
วิธีตรวจ
ตรวจที่สภาพแวดล้อมฝั่งผู้เล่น
รายละเอียดเพิ่มเติม
ฝั่งอัปโหลดตันง่ายเป็นพิเศษ เพราะเน็ตเคเบิลและเครือข่ายมือถือมักมีอัปโหลดแคบกว่าดาวน์โหลดมาก บ้านที่ใช้ไฟเบอร์ความเร็วเหลือเฟือ ช่วง Wi-Fi จะกลายเป็นคอขวดแทน และเกิดเรื่องเดียวกันในคิวไร้สายของเราเตอร์ แพ็กเก็ตเกมมีขนาดเล็กจึงแทบไม่ใช้แบนด์วิดท์ แต่ก็ต้องรอในคิวเหมือนกัน ถ้าตันเฉพาะทิศอัปโหลด อินพุตของเราจะช้าอย่างเดียว ส่วนการเคลื่อนไหวของคนอื่นปกติ บนมือถือ การสำรองรูปภาพหรืออัปเดตแอปในเครื่องเดียวกันจะทำให้คิวของโมเด็มในมือถือและเสาสัญญาณเต็มจนเกิดเรื่องเดียวกัน

แหล่งอ้างอิง

  1. Setting up SQM for CeroWrt 3.10 Bufferbloat.net
    ต้องลดความเร็ว SQM ลงเป็น 95% ของความเร็วที่วัดได้จริง (ถ้าอิงความเร็วที่โฆษณาคือ 85%) เพื่อย้ายคอขวดจากอุปกรณ์ของ ISP มาไว้ในเราเตอร์ จึงจะได้ผล
  2. SQM (Smart Queue Management) OpenWrt
    ใส่ความเร็วดาวน์โหลดและอัปโหลดเป็น 90% ของค่าที่วัดได้จริง แนะนำ queue discipline แบบ cake (ถ้า CPU อ่อนให้ใช้ fq_codel)
  3. Ending the Anomaly: Achieving Low Latency and Airtime Fairness in WiFi (USENIX ATC 2017) USENIX
    เมื่อช่วง Wi-Fi เต็ม จะเกิดดีเลย์หลายร้อย ms ในคิวไร้สายของเราเตอร์ ถ้าแก้คิวไร้สาย ดีเลย์ขณะมีโหลดจะลดลงเหลือราว 1/10
  4. Tests for Bufferbloat Bufferbloat.net
    ถ้าเปิดปิงทิ้งไว้แล้วใช้การทดสอบความเร็วทำให้เน็ตเต็ม แล้วปิงขึ้น คือ bufferbloat ถ้าดีเลย์ขณะมีโหลดเกิน 50 ms (หรือต่ำกว่าเกรด B) แนะนำให้แก้ไข

สาเหตุที่ควรดูประกอบ

ชั้นเดียวกัน: L3 เครือข่ายในบ้าน

สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (อินพุตดีเลย์)

ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง