8 commentaires
salut. déjà t'es sur quel kernel et quel io scheduler ? cat /sys/block/sdx/queue/scheduler pour voir. si t'es en cfq ou deadline pour un nvme c'est pas top. mq-deadline ou none (pour le driver nvme directement) sont souvent mieux.
et ton discard ? si tu fais beaucoup de writes et de deletes, un discard synchrone peut te plomber. t'es en fstrim -v en batch ou mount -o discard ? la deuxième option peut être problématique.
hmm si mq-deadline est déjà là c bizarre. t'as regardé la métrique iostat -x 1 ? le %util et await peuvent donner des indices. et le latency_histogram si t'as un outil comme fio ou blkparse ?
des fois c'est pas le disque direct mais la mémoire. si t'as beaucoup de swap activity ou de pages caches qui sont vidées, ça peut impacter l'io. check vmstat 1 et les stats du swappiness et vfs_cache_pressure.
si le %util est bas et await haut ça sent le problème côté hyperviseur ou le stockage derrière. la vm demande de l'io mais le backend met du temps à répondre même s'il est pas saturé. t'as d'autres vms sur le même host ou le même pool de stockage qui se comportent comme ça ? ptete un overprovisioning sauvage.
Laisser une réponse
Vous devez être connecté pour poster un message !
yo la team linux, j'ai une vm sur un cloud provider (pas aws) avec un disque nvme censé être ultra rapide. mais en prod j'ai des pics de latence I/O de ouf. je parle de centaines de ms alors que ça devrait être sous la milliseconde.
le
iotopmontre que mon app est la seule à faire de l'io mais la latence est pas expliquée par le débit qui est faible. y'a un truc au niveau du kernel ou du scheduler que je peux regarder ?