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

Sách trắng lag game › L5 Thiết bị mạng trung tâm dữ liệu

Bộ cân bằng tải phân bổ lệch, health check đánh giá sai LB imbalance, bad health checks

ID nguyên nhân dc-lb-imbalance · Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Phát triển server (Đội phát triển game)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Kết nối dồn vào một server, hoặc người chơi cứ bị gửi tới server đã chết.

Vì sao Quy tắc phân bổ không phù hợp, hoặc health check không phản ánh trạng thái thực → Dẫn đến Chỉ một server bị quá tải, hoặc người chơi cố kết nối tới server đã chết → Trên màn hình Chỉ một số kênh hoặc một số người bị quay chậm, không vào được·kẹt loading

Triệu chứng
Quay chậm, Không vào được·kẹt loading
Yếu tố
Ngưng trệ, Mất gói
Ai gặp phải
Một địa điểm hoặc kênh
Khi nào
Ngay sau đăng nhập hoặc bảo trì, Khi đông người
Phụ trách
Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Hiện thực health check trả lời yêu cầu kiểm tra của bộ cân bằng tải dựa trên trạng thái game thực (tick có chạy không, kết nối DB), gửi kèm giá trị tải của server.
Việc cần làm (Đội hạ tầng)
Đổi health check sang cách xác nhận phản hồi thực của game, phân bổ theo tải server, giám sát chênh lệch số kết nối giữa các server.
Trên đồ thị
Chỉ một phần cao · Số kết nối, mức sử dụng CPU theo server
Chỗ cần xem
Vẽ chồng số kết nối (ss -s) và mức sử dụng CPU của từng server sau bộ cân bằng tải trên cùng một đồ thị, và so sánh trạng thái health của target trên bộ cân bằng tải (AWS: HealthyHostCount, UnHealthyHostCount trên CloudWatch) với trạng thái thực của server game
Đúng nếu
chỉ một hai server có số kết nối, CPU cao hơn hẳn các server khác, hoặc server đã dừng tick vẫn giữ trạng thái health “bình thường” và tiếp tục nhận kết nối mới
Loại trừ nếu
số kết nối giữa các server đồng đều mà chỉ một kênh chậm → tải bên trong kênh đó (“Quá tải khu vực chạy trên một thread (hotspot)”)
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)
Sự cố thực tế
AWS 2025: AWS us-east-1: sự cố DNS của DynamoDB và quá trình phục hồi kéo dài

Nguồn

  1. Load Balancing in the Datacenter Google
    Round robin đơn giản khiến mức dùng CPU giữa các tác vụ chênh nhau tới 2 lần, phân bổ có trọng số trong đó backend gửi kèm thông tin tải trong phản hồi và health check, trạng thái lame duck báo không nhận thêm yêu cầu
  2. Health checks for Network Load Balancer target groups AWS
    Health check mặc định cách 30 giây, lỗi 2 lần thì bị loại; dịch vụ UDP được kiểm tra bằng health check TCP hay HTTP nên khuyến nghị cấu hình sao cho phản ánh trạng thái dịch vụ thực
  3. CloudWatch metrics for your Network Load Balancer AWS
    HealthyHostCount, UnHealthyHostCount: số target được xác định là bình thường, bất thường

Nguyên nhân nên xem cùng

Cùng tầng: L5 Thiết bị mạng trung tâm dữ liệu

Nguyên nhân ở tầng khác gây cùng triệu chứng (Quay chậm)

Xem thẻ gốc có hình minh họa và thí nghiệm