5.5 Optimisation du serveur MySQL
5 Optimisation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
->Réglage du système, au moment de la compilation, et paramètres du démarrage . Réglage des paramètres du serveur . Influences de la compilation et des liaisons sur la vitesse de MySQL . Comment MySQL gère la mémoire . Comment MySQL utilise le DNS . Syntaxe de SET
|
5.5.1 Réglage du système, au moment de la compilation, et paramètres du démarrage
Nous démarrons par le niveau du système, car certaines décisions à ce niveau
doivent être prises très tôt. Dans d'autres cas, un regard rapide
à cette partie doit suffire, car ce n'est pas tellement important pour les
gros gains. Toute fois, il est toujours sympathique de sentir combien on
peut gagner en changeant des choses à ce niveau.
Le choix du système d'exploitation est vraiment important! Pour utiliser au
maximum les capacités de machines multi-processeurs, il vaut mieux choisir
Solaris (car les threads marchent vraiment très bien) ou Linux (car le
noyau 2.2 supporte très bien le SMP). Mais les plate-formes Linux 32 bits
limitent par défaut la taille des fichiers à 2 Go. Heureusement, cela sera
bientot réparé avec l'arrivée des nouveaux systèmes de fichier (XFS/Reiserfs).
Si vous souhaitez désespéremment utiliser des fichiers de plus de 2 Go sur
Linux-intel 32bits, vous devriez utiliser le patch de LFS pour le système
de fichier ext2
Comme nous n'avons pas utilisé MySQL en production sur énormément de plate-formes,
nous vous conseillons de tester votre plate-forme avant de la choisir définitivement.
Autres astuces:
-
Si vous avez suffisamment de RAM, vous pouvez supprimer toutes les partitions d'échange (swap).
Certains systèmes d'exploitation utilisent parfois la partition d'échange quand bien même
il reste de la mémoire libre.
-
L'utilisation de l'option
--skip-external-locking
de MySQL empêche les verrous
externes. Cela n'influencera pas les fonctionnalités de MySQL tant que vous n'utilisez
qu'un seul serveur. Il faut cependant penser à arreter le serveur (ou bien de verrouiller
les parties pertinantes) avant d'utiliser
myisamchk
. Sur certains systèmes,
cette option est inutile car les verrous externes ne fonctionnent pas du tout.
L'option
--skip-external-locking
est activée par défaut quand on compile avec
MIT-pthreads, car
flock()
n'est pas totalement supporté sur toutes les plate-formes
par MIT-pthreads. Elle l'est également sur Linux, cat le verrouillage des fichiers de Linux
n'est pas encore sûr.
Les seuls cas où on ne peut pas utiliser
--skip-external-locking
sont si on utilise
plusieurs
servers
(pas de clients) MySQL sur les mêmes données, ou si on
lance
myisamchk
sur une table sans vider son tampon et sans la verrouiller au préalable.Il est toujours possible d'utiliser
LOCK TABLES
/
UNLOCK TABLES
même si vous
utilisez
--skip-external-locking
.
|