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)
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
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
ionice(1) — Linux manual pageutil-linux Las tareas en la clase idle solo reciben tiempo de disco cuando ningún otro programa lo está usando
Using Replication for BackupsMySQL Detener una réplica para hacer la copia de seguridad no afecta al funcionamiento de la BD principal
sar(1) — Linux manual pagesysstat -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