Les accès disques sont souvent les goulots d’étranglements de nos systèmes.
Ainsi, installer une machine virtuelle avec l’ensemble de ces logiciels, ou insérer/restaurer des tables conséquentes dans une base donnée MySQL prend parfois énormément de de temps.
Afin de se débarrasser de ces contraintes pour des traitements temporaires, pourquoi ne pas utiliser la RAM de votre machine ?
RAMFS
Sous Linux, on disposait déjà de RAMFS pour monter des volumes qui se réservent une part de RAM. Cependant, il a 2 inconvénient majeurs :
- Celui-ci ne tient pas compte de la limite de taille du volume. Ainsi même avec un volume réservé à 2Go sur 4Go de RAM par exemple, le système vous laisse écrire au-delà de cette limite… Rendant vos fichiers illisibles.
- Vous êtes limité à la taille de la RAM, tout en sachant que si vous atteignez certaines limites, votre système devient instable.
TMPFS
Depuis le noyau 2.6, Linux intègre TMPFS et contrairement à son prédécesseur :
- Il respecte la taille du volume défini.
- Il permet de définir des volumes plus grands que la RAM en utilisant intelligemment le SWAP.
Attention cependant : vous écrivez en RAM , ce volume sera donc vidé au reboot du système.
Comment utiliser TMPFS
Connectez vous en root ou utilisez sudo.
Creation du volume :
1 2 | mkdir /mnt/voltemporaire mount -t tmpfs -o size=10000m tmpfs /mnt/voltemporaire |
Pour déplacer votre répertoire de données MySQL :
1 2 | service mysql stop cp -a /var/lib/mysql/* /mnt/voltemporaire/ |
Editer la variable datadir de configuration MySQL :
1 2 3 4 | nano /etc/mysql/my.cnf #datadir = /mnt/voltemporaire chown dbuser1:mysql /mnt/voltemporaire service mysql start |
Faites vos inserts puis restaurez la configuration originale :
1 2 3 4 5 6 | service mysql stop cp -a /mnt/voltemporaire/* /var/lib/mysql/ nano /etc/mysql/my.cnf #datadir = /var/lib/mysql service mysql start umount /mnt/voltemporaire |
Un commentaire