Mise en cache de lecture du stockage

La mise en cache en lecture améliore les performances du disque d’une machine virtuelle car, après la lecture initiale à partir du disque externe, les données sont mises en cache dans la mémoire libre de l’hôte. Il améliore les performances dans les situations où de nombreuses machines virtuelles sont clonées à partir d’une seule machine virtuelle de base, car il réduit considérablement le nombre de blocs lus à partir du disque. .

L’amélioration des performances peut être observée chaque fois que les données sont lues à partir du disque plusieurs fois, car elles sont mises en cache dans la mémoire. Ce changement est le plus notable dans la dégradation du service qui se produit lors de situations d’E/S lourdes. Par exemple, dans les situations suivantes :

  • Lorsqu’un nombre important d’utilisateurs finaux démarrent dans un délai très restreint (tempête de démarrage)
  • Lorsqu’un nombre important de machines virtuelles sont programmées pour exécuter des analyses de logiciels malveillants en même temps (tempêtes antivirus).

La mise en cache en lecture est activée par défaut lorsque vous avez le type de licence approprié.

Note :

La mise en cache des lectures de stockage est disponible pour les clients.

La mise en cache en lecture de.

Activer et désactiver la mise en cache en lecture

Pour les SR basées sur des fichiers, tels que les types NFS et EXT3 SR, la mise en cache en lecture est activée par défaut. La mise en cache en lecture est désactivée pour tous les autres SR.

Pour désactiver la mise en cache en lecture pour un SR spécifique, exécutez la commande suivante :

xe sr-param-set uuuid = sr-uuid other-config : o_direct = true

Limites

  • La mise en cache en lecture est uniquement disponible pour les SR NFS et EXT3. Il n’est pas disponible pour les autres types SR.

  • La mise en cache en lecture seule s’applique uniquement aux VDI et aux parents VDI en lecture seule. Ces VDI existent où les machines virtuelles sont créées à partir de « clone rapide » ou d’instantanés de disque. Les meilleures améliorations de performances peuvent être constatées lorsque de nombreuses machines virtuelles sont clonées à partir d’une seule image « dorée ».

  • Les améliorations des performances dépendent de la quantité de mémoire disponible dans le domaine de contrôle de l’hôte (dom0). L’augmentation de la quantité de mémoire dom0 permet d’allouer plus de mémoire au cache de lecture.

Définir la taille du cache de lecture

Les performances du cache de lecture peuvent être optimisées, en donnant plus de mémoire au domaine de contrôle (dom0).

Important :

définissez la taille du cache de lecture sur TOUS les hôtes du pool individuellement pour l’optimisation. Toute modification ultérieure de la taille du cache de lecture doit également être définie sur tous les hôtes du pool.

Sur l’ hôte, ouvrez un shell local et connectez-vous en tant que root.

Pour définir la taille du cache de lecture, exécutez la commande suivante :

/opt/xensource/libexec/xen-cmdline — set-xen dom0_mem = nnM, max : nnM

Définissez les valeurs initiales et maximales sur la même valeur. Par exemple, pour définir la mémoire dom0 à 2 048 Mo :

/opt/xensource/libexec/xen-cmdline — set-xen dom0_mem = 20480M, max : 20480M

Important :

Redémarrez tous les hôtes après avoir modifié la taille du cache de lecture.

Comment afficher l’allocation de mémoire dom0 actuelle ?

Pour afficher les paramètres de mémoire dom0 actuels, entrez :

-m gratuit

La sortie defree -m montre les paramètres de mémoire dom0 actuels. La valeur peut être inférieure à celle prévue en raison de divers frais généraux. L’exemple de tableau ci-dessous montre la sortie d’un hôte avec dom0 défini sur 752 Mo

  Total Utilisé Libre Partagé Tampon Caché
Mem 594 486 108 0 149 78
-/+ buffers/cache   258 336      
Swap 511 49 462      

Quelle gamme de valeurs peut-on utiliser ?

Comme le domaine de contrôle (dom0) est 64 bits, des valeurs importantes peuvent être utilisées, par exemple 32768 Mo. recommande de ne pas définir la valeur initiale pour être inférieure à 752 Mo, car cela peut entraîner l’échec du démarrage de l’hôte.

afficher les notes

La mémoire entière de l’hôte peut être considérée comme comprenant l’hyperviseur Xen, dom0, les machines virtuelles et la mémoire libre. Même si la mémoire dom0 et VM est généralement de taille fixe, l’hyperviseur Xen utilise une quantité variable de mémoire. La quantité de mémoire utilisée dépend de divers facteurs. Ces facteurs incluent le nombre de machines virtuelles exécutées sur l’hôte à tout moment et la façon dont ces machines virtuelles sont configurées. Il n’est pas possible de limiter la quantité de mémoire utilisée par Xen. La limitation de la quantité de mémoire peut entraîner un manque de mémoire de Xen et empêcher le démarrage de nouvelles machines virtuelles, même lorsque la mémoire de l’hôte était libre.

Pour afficher la mémoire allouée à un hôte, sélectionnez l’hôte, puis cliquez sur l’onglet Mémoire .

Le champ affiche la somme de la mémoire allouée à la mémoire dom0 et Xen. Par conséquent, la quantité de mémoire affichée peut être supérieure à celle spécifiée par l’administrateur. La taille de la mémoire peut varier lors du démarrage et de l’arrêt des machines virtuelles, même lorsque l’administrateur a défini une taille fixe pour dom0.

Mise en cache de lecture du stockage