Mettre mysql entièrement en RAM

Mon projet étant maintenant assez avancé pour contenir une série de tests je dois régulièrement lancer la globalité de ces tests pour savoir ou en est la stabilité de mon code. Cependant l’exécution de tous ces tests prend du temps.

Une possibilité d’optimisation est de placer la base de donnée entièrement en ram. Voici donc un petit tutoriel que j’ai trouvé chez Laurent Besson qui vous permettra de mettre mysql en ram.

http://monblog.system-linux.net/blog/2011/08/25/mettre-entierement-mysql-en-ram-grace-a-ramfs-ou-tmpfs/

Attention: Il se peut que vous rencontriez cette erreur (/var/log/mysql/error.log):

InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

Sur certaine configurations pensez a vérifier qu’AppArmor est correctement configuré pour permettre le déplacement du datadir de mysql.

Pour cela éditez le fichier /etc/apparmor.d/usr.sbin.mysqld de façon a l’adapter au nouvel emplacement:

# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/var/tmpfs/mysql/ r,
/var/tmpfs/mysql/** rwk,

Dans mon cas, il va également peut-être falloir que je trouve une solution encore plus performante. Pourquoi ne pas mettre le code source de mon application php en ram également ? Je vais regarder ça en tout cas !

2 réflexions sur « Mettre mysql entièrement en RAM »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *