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

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

interrupt coalescing มากเกินไป Interrupt coalescing

ID สาเหตุ nic-coalesce · ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)

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

การรวบแพ็กเก็ตไว้แล้วแจ้งทีเดียวช่วยลดภาระ CPU แต่ก็ทำให้ช้าลงตามเวลาที่ใช้รวบ

ทำไม NIC รวบแพ็กเก็ตตามเวลาหรือจำนวนที่กำหนดแล้วจึงแจ้ง → ผลคือ แพ็กเก็ตต้องรอระหว่างรวบ → บนหน้าจอ ความหน่วงเพิ่มขึ้นเล็กน้อย ปกติน้อยมาก แต่ถ้าตั้งมากเกินไปจะถึงระดับ ms

อาการ
อินพุตดีเลย์
ปัจจัย
ความหน่วง
ใครเจอ
ทั้งเซิร์ฟเวอร์
เกิดเมื่อไร
ตลอดเวลา
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)
งานฝั่งทีมอินฟรา
ใช้ adaptive coalescing, ปรับค่าให้เหมาะกับเซิร์ฟเวอร์เกม (ethtool -C)
ตัวเลขที่ควรรู้
ปกติหลายสิบถึงหลายร้อย µs ซึ่งสำหรับเกมมักน้อยจนไม่ต้องสนใจ แต่ถ้าตั้งค่ามากเกินไปจะขึ้นไปถึงระดับ ms
บนกราฟ
สูงตลอดตั้งแต่แรก · เวลาไปกลับภายในดาต้าเซ็นเตอร์เดียวกัน
จุดที่ต้องดู
ใช้ ethtool -c ดูการตั้ง coalescing ปัจจุบัน (adaptive-rx, rx-usecs, rx-frames) แล้วเทียบเวลาไปกลับของ ping กับเซิร์ฟเวอร์อื่นในดาต้าเซ็นเตอร์เดียวกันก่อนและหลังเปลี่ยนค่า
สัญญาณว่าใช่
rx-usecs ตั้งไว้สูงตั้งแต่หลายร้อย µs ขึ้นไป และเมื่อลดค่าลง เวลาไปกลับภายในดาต้าเซ็นเตอร์เดียวกันก็ลดลงตามนั้น
สัญญาณว่าไม่ใช่
ถ้าลดค่าแล้วเวลาไปกลับยังเท่าเดิม ก็ไม่ใช่สาเหตุนี้
วิธีตรวจ
ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)

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

  1. Linux Driver for Intel(R) Ethernet Network Connection (e1000e) Linux kernel
    ค่าเริ่มต้นคือ adaptive interrupt moderation ที่ 4,000–20,000 ครั้งต่อวินาที (ห่างกัน 50–250 µs), ลดอินเทอร์รัปต์แล้วประหยัด CPU แต่ความหน่วงเพิ่มขึ้น
  2. Linux Base Driver for Intel(R) Ethernet Network Connection (e1000) Linux kernel
    RxIntDelay หน่วงอินเทอร์รัปต์ขาเข้าได้ทีละ 1.024 µs สูงสุด 65,535 หน่วย (ราว 67 ms) ยิ่งตั้งค่าสูง ความหน่วงขาเข้ายิ่งเพิ่ม
  3. ethtool(8) — Linux manual page ethtool
    การตั้งค่า adaptive-rx, rx-usecs และ rx-frames ของ ethtool -C

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

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

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

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