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

คู่มือเกมแลค › L6 การ์ดเครือข่ายของเซิร์ฟเวอร์

เกินขีดจำกัด PPS ของคลาวด์ Cloud PPS / bandwidth allowance

ID สาเหตุ nic-cloud-pps · ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม), ภายนอก (ภายนอก)

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

เซิร์ฟเวอร์บนคลาวด์แต่ละประเภทมีขีดจำกัดจำนวนแพ็กเก็ตต่อวินาทีและแบนด์วิดท์ ถ้าเกินจะถูกทิ้งเงียบ ๆ

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

อาการ
วาร์ป, กดไม่ติด/โรลแบ็ค
ปัจจัย
แพ็กเก็ตหาย
ใครเจอ
ทั้งเซิร์ฟเวอร์
เกิดเมื่อไร
ตอนคนแห่มารวมกัน, ช่วงพีคหัวค่ำ
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม), ภายนอก (ภายนอก)
งานฝั่งทีมพัฒนาเกม
รวมแพ็กเก็ต (ส่งข้อความของหนึ่งทิกในแพ็กเก็ตเดียว), ไม่ส่งแพ็กเก็ตเล็กมาก ๆ ถี่เกินไป
งานฝั่งทีมอินฟรา
ตรวจและตั้ง alert ตัวนับที่เกินขีดจำกัด (AWS คือ pps_allowance_exceeded, conntrack_allowance_exceeded ฯลฯ), ใช้อินสแตนซ์ที่ใหญ่ขึ้น, เลี่ยงขีดจำกัด connection tracking ด้วยการตั้ง security group แบบที่ไม่เกิดการติดตาม
งานฝั่งภายนอก
สอบถามผู้ให้บริการคลาวด์ถึงขีดจำกัดจำนวนแพ็กเก็ตต่อวินาทีและ connection tracking ของอินสแตนซ์แต่ละประเภท
ตัวเลขที่ควรรู้
ขีดจำกัดต่างกันตามขนาดอินสแตนซ์ และขีดจำกัดจำนวนแพ็กเก็ตต่อวินาทีมักไม่เปิดเผย “สูงสุด 10 Gbps” ของอินสแตนซ์ขนาดเล็กเป็นความเร็ว burst ที่ใช้ได้เฉพาะช่วงที่ยังมีเครดิตเหลือ (ปกติ 5–60 นาที) ความเร็วพื้นฐานตามปกติต่ำกว่านั้นมาก
บนกราฟ
ชนเพดานแล้วแบนราบ · จำนวนแพ็กเก็ตต่อวินาที, ตัวนับ allowance ที่เกิน
จุดที่ต้องดู
เก็บตัวนับของ ENA ใน ethtool -S ได้แก่ pps_allowance_exceeded, bw_in_allowance_exceeded, bw_out_allowance_exceeded และ conntrack_allowance_exceeded ด้วยช่วงเวลาสั้น ๆ แล้วดูคู่กับจำนวนแพ็กเก็ตต่อวินาที จะใช้ CloudWatch agent ส่งตัวนับเหล่านี้ขึ้น CloudWatch แล้วตั้ง alert ก็ได้
สัญญาณว่าใช่
ในเวลาที่แพ็กเก็ตหาย ตัวนับ allowance ที่เกินเพิ่มขึ้น และจำนวนแพ็กเก็ตต่อวินาทีไม่ขึ้นเกินค่าหนึ่ง ขณะที่ CPU ของเซิร์ฟเวอร์ยังว่าง
สัญญาณว่าไม่ใช่
ถ้าตัวนับที่เกินไม่ขยับ ก็ไม่ใช่สาเหตุนี้ ถ้า %soft ของคอร์เดียวอยู่ที่ 100% น่าจะเป็น “อินเทอร์รัปต์ของ NIC กระจุกที่คอร์เดียว”
วิธีตรวจ
ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)
รายละเอียดเพิ่มเติม
conntrack_allowance_exceeded คือกรณีที่ตาราง connection tracking เต็มจนการเชื่อมต่อใหม่ถูกทิ้ง ถ้าตารางยังมีที่ว่างแต่การเชื่อมต่อที่ idle หลุดเพราะการติดตามหมดอายุ ให้ดูสาเหตุ “connection tracking ของ security group บนคลาวด์หมดอายุ”

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

  1. Monitor network performance for ENA settings on your EC2 instance AWS
    อินสแตนซ์แต่ละตัวมีขีดจำกัดแบนด์วิดท์, PPS และ connection tracking ถ้าเกินจะเข้าคิวไว้แล้วทิ้ง, ตัวนับ pps_allowance_exceeded และ conntrack_allowance_exceeded
  2. Amazon EC2 instance network bandwidth AWS
    “สูงสุด N Gbps” ของอินสแตนซ์ที่มีไม่เกิน 16 vCPU คือ burst ที่ใช้เครดิต network I/O (ปกติ 5–60 นาที) เมื่อเครดิตหมดจะกลับไปที่แบนด์วิดท์พื้นฐาน

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

ชั้นเดียวกัน: L6 การ์ดเครือข่ายของเซิร์ฟเวอร์

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

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