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

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

Chạm giới hạn IOPS, hàng đợi bão hòa IOPS limit / queue saturation

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

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

Khi vượt số yêu cầu ổ đĩa xử lý được trong 1 giây, hàng đợi dài ra và độ trễ tăng vọt.

Vì sao Yêu cầu đọc, ghi tiến sát khả năng xử lý của ổ đĩa → Dẫn đến Hàng đợi dài ra (thường tăng vọt khi mức sử dụng từ 90% trở lên) → Trên màn hình Lưu và loading bị chậm, nếu là lời gọi đồng bộ thì đứng hình

Triệu chứng
Trễ thao tác, Đứng hình
Yếu tố
Độ trễ, Ngưng trệ
Ai gặp phải
Cả server
Khi nào
Khi đông người, Giờ cao điểm buổi tối
Phụ trách
Phụ trách chính Hạ tầng server (Đội hạ tầng) · Phối hợp Phát triển server (Đội phát triển game), Hạ tầng DB (Đội hạ tầng)
Việc cần làm (Đội phát triển game)
Gộp yêu cầu, cache dữ liệu hay đọc, chuyển sang bất đồng bộ để thread game không phải chờ ổ đĩa.
Việc cần làm (Đội hạ tầng)
Thiết bị server·OS: ổ đĩa nhanh hơn, kiểm tra giới hạn băng thông ổ đĩa và IOPS theo loại instance, cảnh báo mức sử dụng và hàng đợi ổ đĩa, sao chép file lớn vào giờ vắng. Thiết bị DB: cảnh báo cả mức sử dụng IOPS và thông lượng của ổ đĩa DB, kiểm tra giới hạn ổ đĩa theo cấu hình instance DB.
Con số tham khảo
HDD khoảng 150, SATA SSD vài chục nghìn, NVMe vài trăm nghìn IOPS. Ổ đĩa mặc định trên cloud (AWS gp3) đạt 3.000 IOPS và 125 MiB mỗi giây. Giới hạn lượng truyền mỗi giây tách riêng khỏi IOPS, và khi việc sao chép file lớn lấp đầy nó thì cả những lần ghi nhỏ cũng bị dồn lại.
Trên đồ thị
Chạm giới hạn rồi đi ngang · IOPS, độ dài hàng đợi ổ đĩa
Chỗ cần xem
Xem r/s, w/s, rkB/s, wkB/s, aqu-sz, r_await, w_await của iostat -x 1. Trên cloud, xem VolumeReadOps, VolumeWriteOps, VolumeQueueLength của EBS và các chỉ số vượt giới hạn VolumeIOPSExceededCheck, VolumeThroughputExceededCheck, phía instance là InstanceEBSIOPSExceededCheck, InstanceEBSThroughputExceededCheck
Đúng nếu
số yêu cầu mỗi giây hoặc lượng truyền đi ngang ở đúng giá trị giới hạn, aqu-sz và await cùng tăng vọt. Trên cloud, chỉ số kiểm tra vượt giới hạn bằng 1
Loại trừ nếu
%util 100% mà await vẫn thấp → có thể vẫn còn dư. Với SSD và RAID xử lý song song nhiều yêu cầu, %util không thể hiện giới hạn. Chưa chạm giới hạn mà chỉ await cao → độ trễ của bản thân ổ đĩa (dk-hdd) hoặc fsync (dk-fsync)
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)
Tìm hiểu thêm
Trên cloud, ngoài giới hạn của ổ đĩa, mỗi cấu hình server (loại instance) còn có giới hạn băng thông ổ đĩa và IOPS riêng. Dù gắn ổ đĩa đắt tiền, nếu server nhỏ thì vẫn bị chặn ở giới hạn của instance.

Nguồn

  1. Exos X18 Data Sheet Seagate
    HDD 7.200 rpm cho server đọc ngẫu nhiên 4K đạt 170 IOPS (QD16)
  2. D3-S4520 SSD Solidigm
    SATA SSD cho server đọc, ghi ngẫu nhiên 4 KB tối đa 92K/48K IOPS
  3. Solidigm™ D7-P5520 and D7-P5620 Product Brief Solidigm
    NVMe SSD cho server đọc, ghi ngẫu nhiên 1.000K/200K IOPS
  4. Amazon EBS General Purpose SSD volumes AWS
    Hiệu năng cơ bản của gp3 là 3.000 IOPS và 125 MiB/s, hai giới hạn riêng biệt có thể tăng độc lập
  5. Amazon EBS-optimized instance types AWS
    Mỗi loại instance có giới hạn cơ bản và tối đa riêng cho băng thông, thông lượng và IOPS của EBS
  6. iostat(1) — Linux manual page sysstat
    -x: r/s, w/s, rkB/s, wkB/s, aqu-sz (tên cũ là avgqu-sz), r_await, w_await, %util. Với RAID và SSD đời mới xử lý song song nhiều yêu cầu, %util không thể hiện giới hạn hiệu năng
  7. Amazon CloudWatch metrics for Amazon EBS AWS
    VolumeIOPSExceededCheck, VolumeThroughputExceededCheck: bằng 1 nếu đã cố vượt giới hạn IOPS hoặc thông lượng của volume (instance Nitro), VolumeQueueLength
  8. CloudWatch metrics that are available for your instances AWS
    InstanceEBSIOPSExceededCheck, InstanceEBSThroughputExceededCheck: bằng 1 nếu đã cố vượt giới hạn IOPS hoặc thông lượng EBS của instance

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 (Trễ thao tác)

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