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

Libro blanco del lag en juegos › L11 Disco

Copias de seguridad, compresión y escaneos Backup / compression / scans

ID de la causa dk-backup · Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Infraestructura de BD (Equipo de infraestructura)

Abrir la ficha interactiva con gráficos y simulaciones →

Cuando una copia de seguridad de madrugada, la compresión de logs o un escaneo de seguridad acaparan el disco, las lecturas y escrituras del servidor del juego se retrasan.

Por qué Empieza una tarea programada de copia de seguridad o compresión → Efecto Ocupa la mayor parte del ancho de banda y de las IOPS del disco → En pantalla Lag todos los días a la misma hora

Síntomas
Tirones, Input lag
Factores
Detención, Latencia
A quién afecta
Todo el servidor
Cuándo
A intervalos regulares
Responsable
Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Infraestructura de BD (Equipo de infraestructura)
Tareas (Equipo de infraestructura)
Servidores/SO: bajar la prioridad de E/S de las tareas de copia de seguridad, compresión y escaneo, repartir sus horarios. Servidores de BD: hacer las copias de seguridad desde una réplica.
En el gráfico
Picos periódicos · Utilización del disco, tiempo de espera del disco
Dónde mirar
Superponer día a día %util, await y aqu-sz del historial de los últimos días con sar -d (archivos diarios de /var/log/sa; sadc tiene que recoger también los datos de disco con -S DISK); a esa hora, buscar con pidstat -d 1 el proceso con más kB_rd/s y kB_wr/s y cotejarlo con los horarios de cron y de los timers de systemd
Se confirma si
Todos los días a la misma hora se disparan await y %util, y en ese momento un proceso de copia de seguridad, compresión o escaneo acapara la mayor parte de las lecturas y escrituras en disco
Se descarta si
Si la hora de los picos cambia cada día, es poco probable que sea una tarea programada. Si a esa hora la mayor parte de la E/S es del propio servidor del juego, apunta a guardados o logs (dk-fsync, dk-sync-log)
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)

Fuentes

  1. ionice(1) — Linux manual page util-linux
    Las tareas en la clase idle solo reciben tiempo de disco cuando ningún otro programa lo está usando
  2. Using Replication for Backups MySQL
    Detener una réplica para hacer la copia de seguridad no afecta al funcionamiento de la BD principal
  3. sar(1) — Linux manual page sysstat
    -d: await, aqu-sz y %util por dispositivo de los archivos de historial diarios (por defecto en /var/log/sa); los datos de disco hay que recogerlos con la opción -S DISK de sadc
  4. pidstat(1) — Linux manual page sysstat
    -d: kB_rd/s y kB_wr/s por proceso (lectura y escritura en disco por segundo)

Ver también

Misma capa: L11 Disco

Causas de otras capas con el mismo síntoma (Tirones)

Ver la ficha interactiva con gráficos y simulaciones