Gói UDP lớn hơn MTU (kích thước tối đa gửi được trong một lần) bị phân mảnh ở tầng IP, và chỉ cần mất một fragment là cả gói bị bỏ.
Vì sao Snapshot ở nơi đông người vượt quá 1.500 byte → Dẫn đến Gói bị chia thành nhiều fragment để gửi, mất một fragment là bỏ cả gói → Trên màn hình Gói lớn có tỷ lệ mất cao gấp mấy lần. Chỉ bị dịch chuyển tức thời ở nơi đông người
Phụ trách chính Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Tự chia gói xuống từ 1.200 byte trở xuống, chỉ gửi phần thay đổi.
Con số tham khảo
Trên đường truyền mất gói 2%, gói bị chia thành 4 fragment sẽ mất khoảng 8%. Có tường lửa và nhà mạng bỏ hẳn gói bị phân mảnh, nên người chơi dùng mạng đó không nhận được gói lớn nào.
Trên đồ thị
Tăng theo số người và tải · Số lần phân mảnh IP (IpFragCreates), kích thước snapshot
Chỗ cần xem
Trên server, xem mức tăng IpFragCreates (số fragment tạo ra khi gửi) trong nstat -az; ở bên nhận, xem IpReasmFails (số lần ghép lại thất bại). Kiểm tra phân bố kích thước gói UDP qua log server game hoặc bản bắt gói (packet capture)
Đúng nếu
IpFragCreates tăng ở nơi đông người, có gói UDP lớn hơn 1.500 byte, và cùng lúc đó số báo cáo dịch chuyển tức thời tăng
Loại trừ nếu
IpFragCreates không tăng (phía gửi của server không có phân mảnh)
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)
Nguồn
RFC 8085: UDP Usage GuidelinesIETF Mất một fragment thì không ghép lại được và mất cả gói; ứng dụng UDP nên tránh phân mảnh IP
net/ipv4/proc.c (Linux v6.12)Linux kernel Tên bộ đếm mà nstat hiển thị: FragCreates (số fragment đã tạo) và ReasmFails (số lần ghép lại thất bại) trong nhóm Ip