eZ systems, l'éditeur du CMS eZ publish, explique les différentes optimisations possibles de MySQL.

D'abord, il est recommandé d’installer une distribution MySQL conforme et compilée pour votre environnement, comme par exemple pour une plate-forme Intel. Au niveau du matériel, il sera important de privilégier la mémoire si vous avez de nombreuses pages en lecture. Par contre, si votre site doit souvent accéder à la base en écriture, il est recommandé d’augmenter la vitesse de rotation du disque dur. Une installation RAID peut permettre également d'accroître les performances du disque.

La commande "SHOW VARIABLE" de MySQL liste toutes les variables systèmes de MySQL et c'est en jouant sur ces variables que vous allez pouvoir augmenter les performances. La commande "SHOW STATUS" donne des informations sur l’état de santé de votre base de donnée et ainsi connaître l’impact de vos modifications. Des applications graphiques comme "MySQL Administrator" peut également vous fournir ces informations.

Pour un site sous eZ publish, deux types d'optimisations différentes sont possibles selon les accés à la base en lecture ou en écriture :

  • De nombreux paramètres sous MySQL vont influer sur les performances en lecture comme par exemple les variables : key_buffer, table_cache, max_connections, query_cache_limit, query_cache_size...

  • Pour l’écriture, il sera important de choisir le moteur de stockage InnoDB bien plus performant que le MyISAM qui lui ne supporte pas les transactions. Ensuite, pour continuer l'optimisation, vous pourrez modifier certaines variables comme : innodb_flush_log_at_trx_commit, innodb_buffer_pool_size, innodb_additional_mem_pool_size...
La configuration du DNS ou le choix du système de fichiers aura également un impact sur les performances.

Article complet avec les tests de performance