13 commentaires
salut! await élevé sur SAN ça fait penser au io_scheduler. t'es en quel scheduler? cfq par défaut est souvent pas top pour les SANs. faudrait tester deadline ou noop. echo deadline > /sys/block/sdX/queue/scheduler
et la version de ton kernel? des fois y'a des bugs i/o corrigés dans les nouvelles versions. et t'es bien avec les drivers virtuels genre virtio_blk pour la vm ou tu utilises encore des vieux trucs émulés? lsmod | grep virtio
vérifie aussi la queue depth de tes LUNs côté SAN et côté VM. si la VM envoie trop de requêtes et que le SAN en accepte moins ça peut backlog et créer des await. et des snapshots ou des réplications sur le SAN en arrière-plan? ça peut plomber les perfs
ok donc pas le scheduler classique. est-ce que c'est lié à des pics de workload sur les VMs? t'as des processus qui font des gros batchs i/o d'un coup? ou c'est random? regarde les métriques au niveau des cgroups ou du process avec pidstat -d
et les logs kernel (dmesg -T)? des erreurs disk, des timeouts scsi, des resets de bus? même si c'est du virtio, ça peut masquer un souci physique en dessous. un truc du genre blk_update_request: I/O error?
y'a pas une limite de connexions ou de débit réseau sur l'hyperviseur pour le trafic i/o? ou des ressources cpu allouées qui sont tirées à bloc sur le node physique? un top ou htop sur l'hyperviseur pendant un pic de latence peut donner un indice
hmmm bizarre. est-ce que t'as joué avec les paramètres de cache du système de fichiers? vm.dirty_ratio, vm.dirty_background_ratio? si la vm accumule trop de pages sales en mémoire avant de les flusher sur le disk ça peut créer des latences monstrueuses quand le flush se produit
oui c'est une excellente piste. par défaut le dirty_ratio est à 20% et dirty_background_ratio à 10% de la ram. si ta vm a bcp de ram et beaucoup d'écritures ça peut faire des gros pauses. essaye de les baisser à 5 et 2% pour forcer des flush plus fréquents et plus petits
normalement ça devrait lisser la charge i/o. le kernel va vider le cache plus souvent et éviter les gros à-coups. tiens nous au jus
Laisser une réponse
Vous devez être connecté pour poster un message !
yo la team j'ai un truc chelou sur nos vms linux en prod. c'est sur du san donc block device. les perfs i/o sont super instables. parfois c'est mega rapide d'autres fois ça rame à mort.
iostat -x 1montre desawaitqui montent à 500ms sans raison. c'est l'enfer pour les apps critiques