Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=same_as_next_version
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Surveillance du taux de fragmentation de la base

La Au fur et à mesure des insertions / suppressions d'éléments en base de données va se fragmenter au fil des insertions/suppression d'éléments, et le volume des données va devenir plus faible que le volume sur disque (dans /var/lib/mongo): c'est , l'espace de stockage peut se retrouver morcelé.

L'enchevêtrement des zones d'espace libre et des zones contenant des données est tel, qu'il devient difficile de réaffecter les zones libres pour y stocker de nouvelles données.

Le ratio espace de stockage utilisé par rapport à la taille effective des données devient plus important, c'est ce qu'on appelle la fragmentation.


Il est possible de surveiller ce taux de fragmentation et même le réduire .Nous mettons à disposition le script suivant avec la commande suivante : 

Attachments
previewfalse
uploadfalse
oldfalse
patterns*.py


Il Ce script permet d'avoir le calcul de ce taux, avec les volumes utilisés et les volumes sur disque.

Code Blockwarning
Attention : ce script ne fonctionne que sur installation de Shinken Entreprise supérieur à la V02.07.00Entreprise supérieure ou égale à la V02.08.02-RC019

Paramètres d'exécution

Sans paramètre, la commande se connecte au serveur MongoDB local.

Excerpt Include
MongoDB - options de connexion à la base MongoDB des commandes Shinken
MongoDB - options de connexion à la base MongoDB des commandes Shinken
nopaneltrue

Données retournées

La commande va fournir les informations suivantes, pour chacune des bases de données présente sur le serveur

Il se lance de la manière suivante:

Code Block
languagebash
themeEmacs
titleLancement du script de vérification de la fragmentation mongo
check_mongo_fragmentation.py -H IP_SERVEUR --connection-method=ssh --ssh-user=shinken  --ssh-keyfile=~shinken/.ssh/id_rsa
  • -H: adresse publique du serveur à vérifier
    • ou localhost si vous souhaitez vérifier le serveur sur lequel s'exécute le script
  • --connection-method=ssh: à n'utiliser que pour les serveurs distants afin de créer un tunnel ssh vers le serveur et protéger les accès
  • --ssh-user: utilisateur à utiliser pour les serveurs distants pour les connexions SSH
  • --ssh-keyfile: clé SSH à utiliser pour les serveurs distants

Il va fournir les informations suivantes :

  • Database: le nom de la base
  • Disk-usage: la consommation disque de la base
  • Data: le volume de données contenu dans la base
  • Compression-save: espace disque économisé grâce à la compression de données ( seulement pour Wired Tiger )
  • Fragmented: espace  espace non utilisé du à la fragmentation
    • cet Cet espace peux peut être réutilisé pour de nouvelles données, à la discrétion du moteur.
    • en En cas de compactage ou migration, la majeur majeure partie de cet espace pourra être récupéré.

Exécution sur une base avec MMapV1

Sur une base avec MMapV1 l’exécution va donner un résultat suivant :

Image Modified

Exécution sur une base avec Wired Tiger

Sur une base avec Wired Tiger, le résultat sera le suivant :

Image Modified