10 commentaires
salut. pour les VMs, surtout si l'OS hôte gère déjà son propre scheduler I/O (genre ESXi), on recommande souvent noop ou deadline. cfq est souvent le défaut mais il est pas idéal pour les environnements virtualisés car il fait trop de boulot déjà fait par l'hyperviseur.
ouais noop c'est le plus simple il passe tout direct au kernel sans ordonnancement. deadline c'est un bon compromis, il assure que les requêtes ne soient pas trop retardées. pour voir ton scheduler actuel : cat /sys/block/sdX/queue/scheduler (remplace sdX par ton device).
et si t'es sur un kernel récent (genre 4.x ou plus) et que t'as du NVMe ou du stockage bloc rapide, mq-deadline peut être encore mieux. c'est la version multi-queue de deadline qui tire parti des interfaces modernes. faut voir si ton kernel le supporte.
attention aussi au niveau de VMware. t'es sur quel type de datastore ? et t'as checké le queue depth côté VM et côté hyperviseur ? parfois c'est une saturation là-bas avant même que le scheduler Linux ne voie le souci.
Laisser une réponse
Vous devez être connecté pour poster un message !
hello la team ! on a des VMs Linux sur VMware qui hébergent du MongoDB et on a des drops de perf I/O assez violents de temps en temps. genre les queries qui prennent 10x plus de temps. j'ai checké le CPU et la RAM des VMs, rien d'anormal. ça sent le scheduler I/O qui fait des siennes. vous avez des best practices pour les VMs avec des bases de données ?