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

Sách trắng lag game › L12 Cơ sở dữ liệu

Mất tiến độ do chu kỳ lưu dài Periodic save window

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

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

Nếu để giảm tải mà vài phút mới lưu một lần, thì khi server sập giữa hai lần lưu, tiến độ chơi sẽ mất.

Vì sao Trạng thái nhân vật được lưu vài phút một lần → Dẫn đến Giữa hai lần lưu, server crash hoặc gặp sự cố → Trên màn hình Vào lại game thì thấy trạng thái của vài phút trước (rollback)

Triệu chứng
Nuốt thao tác·rollback
Yếu tố
Mất gói
Ai gặp phải
Cả server, Một địa điểm hoặc kênh
Khi nào
Thỉnh thoảng bất chợt
Phụ trách
Phụ trách chính Phát triển server (Đội phát triển game) · Phối hợp Hạ tầng DB (Đội hạ tầng)
Việc cần làm (Đội phát triển game)
Lưu ngay các sự kiện quan trọng (giao dịch, nhận vật phẩm hiếm), ghi log thay đổi.
Việc cần làm (Đội hạ tầng)
Kiểm tra dư địa IOPS và CPU của DB để gánh lượng ghi tăng thêm khi rút ngắn chu kỳ lưu.
Trên đồ thị
Rớt kết nối hàng loạt · Số kết nối, số báo cáo rollback
Chỗ cần xem
Đặt cạnh nhau thời điểm crash hoặc sự cố và thời điểm lưu cuối cùng của các nhân vật báo bị rollback (log lưu của server game hoặc cột thời gian sửa trong DB)
Đúng nếu
thời điểm bị quay về trùng với lần lưu cuối cùng ngay trước crash, và khoảng thời gian bị mất ngắn hơn chu kỳ lưu
Loại trừ nếu
log server game ghi là đã lưu xong mà vẫn bị quay về → mất dữ liệu do failover DB (db-failover) hoặc đọc giá trị cũ từ bản sao (db-replica-lag)
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. Asynchronous Commit (PostgreSQL Documentation) PostgreSQL
    Gom bản ghi lại để ghi xuống sau thì thông lượng tăng, đổi lại khi có sự cố, các transaction gần nhất có thể mất (cùng một sự đánh đổi)
  2. Redis persistence Redis
    Nếu vài phút mới tạo snapshot RDB một lần thì phải chấp nhận mất dữ liệu của vài phút cuối khi kết thúc bất thường

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

Cùng tầng: L12 Cơ sở dữ liệu

Nguyên nhân ở tầng khác gây cùng triệu chứng (Nuốt thao tác·rollback)

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