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

Sách trắng lag game › L11 Ổ đĩa

Tác vụ sao lưu, nén, quét Backup / compression / scans

ID nguyên nhân dk-backup · Phụ trách chính Hạ tầng server (Đội hạ tầng) · 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 →

Khi sao lưu lúc rạng sáng, nén log hoặc quét bảo mật chiếm trọn ổ đĩa, việc đọc ghi của server game bị dồn lại.

Vì sao Tác vụ sao lưu, nén đã lên lịch bắt đầu chạy → Dẫn đến Chiếm phần lớn băng thông và IOPS của ổ đĩa → Trên màn hình Ngày nào cũng lag vào cùng một giờ

Triệu chứng
Giật khựng, Trễ thao tác
Yếu tố
Ngưng trệ, Độ trễ
Ai gặp phải
Cả server
Khi nào
Theo chu kỳ đều
Phụ trách
Phụ trách chính Hạ tầng server (Đội hạ tầng) · Phối hợp Hạ tầng DB (Đội hạ tầng)
Việc cần làm (Đội hạ tầng)
Thiết bị server·OS: hạ mức ưu tiên I/O của tác vụ sao lưu, nén, quét, rải thời điểm chạy. Thiết bị DB: sao lưu trên bản sao (replica).
Trên đồ thị
Vọt lên theo chu kỳ · Mức sử dụng ổ đĩa, thời gian chờ ổ đĩa
Chỗ cần xem
Dùng sar -d xem bản ghi vài ngày qua (file theo ngày trong /var/log/sa, sadc phải thu cả mục ổ đĩa bằng -S DISK), đặt %util, await, aqu-sz của các ngày chồng lên nhau; vào giờ đó, dùng pidstat -d 1 tìm tiến trình có kB_rd/s, kB_wr/s lớn nhất rồi đối chiếu với lịch cron và systemd timer
Đúng nếu
ngày nào cũng vào cùng một giờ await và %util vọt lên, và lúc đó tiến trình sao lưu, nén hoặc quét chiếm phần lớn lượng đọc ghi ổ đĩa
Loại trừ nếu
giờ vọt lên mỗi ngày một khác → ít khả năng là tác vụ định kỳ. Phần lớn I/O lúc đó do chính server game → phía lưu dữ liệu hoặc ghi log (dk-fsync, dk-sync-log)
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)

Nguồn

  1. ionice(1) — Linux manual page util-linux
    Tác vụ chạy ở lớp idle chỉ được dùng ổ đĩa khi không chương trình nào khác đang dùng
  2. Using Replication for Backups MySQL
    Dừng bản sao để sao lưu cũng không ảnh hưởng tới vận hành của DB chính
  3. sar(1) — Linux manual page sysstat
    -d: await, aqu-sz, %util theo từng thiết bị trong file bản ghi theo ngày (mặc định /var/log/sa); mục ổ đĩa phải được thu bằng tùy chọn -S DISK của sadc
  4. pidstat(1) — Linux manual page sysstat
    -d: kB_rd/s, kB_wr/s theo từng tiến trình (lượng đọc, ghi ổ đĩa mỗi giây)

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

Cùng tầng: L11 Ổ đĩa

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

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