11
Indiquez l’intérêt que vous portez à cette question
1

Problème de performance sur le serveur MySQL de SPIP (1.9.2c)

Bonjour,

Nous rencontrons de grosses difficultés sur le serveur MySQL de SPIP pour la publication d’un Intranet. Les informations sont les suivantes :

Symptômes :
 Le site Intranet n’est plus accessible (timeout au niveau du navigateur).
 Tous les threads apaches sont occupés (en attente de réponse SQL).
 Le serveur MySQL est à 100% de consommation CPU sur les 8 coeurs.
En analysant les journaux de logs MySQL, on s’apperçoit qu’il y a énormément de requêtes de mise à jour : 2 300 000 requêtes (update, delete, create) pour une période de 60 heures (soit 43 000 requêtes de modification / heure).
Une analyse plus précise fait ressortir la requête suivante comme la grande gagnante avec 1 700 000 apparitions :
UPDATE spip_diplonet.spip_rubriques
SET statut_tmp=’publie’, date_tmp=’2009-06-03 10:27:26’
WHERE id_rubrique=x ;

Les questions sont les suivantes :
 Est-il normal qu’il y ait autant de requêtes de mise à jour sur la base ?
 Et est-il normal qu’il y ait autant de requêtes de mise à jour sur les rubriques ?
 Y a-t-il un moyen de limiter le nombre de requêtes SQL ?

Volumétrie :
 15 000 articles
 20 000 pages
 26 000 documents
 1500 rubriques

 15 000 utilisateurs potentiels / 1000 à 1500 utilisateurs simultanés
 20 nouveaux articles publiés / jour

Architecture basée sur 2 serveurs :
 un serveur (2 processeurs dual core + 4Go de RAM) Apache (2.2.3-4+etch11) + php (5.2.0+dfsg-8+etch16) + SPIP (1.9.2c) sur Debian Etch
 un serveur (4 processeurs dual core + 4Go de RAM) avec MySQL (5.0.32-7etch11) sur Debian Etch

Configuration :
 $derniere_modif_invalide = false ;
 durée de validité du cache à 5 minutes sur la page d’accueil et 2h sur les autres pages
 niveau d’isolation des transactions MySQL par défaut : REPEATABLE-READ

Plugins utilisés :
 Lecteur Multimédia en Flash (MP3,flv)
 Acces Restreint 2.0
 Couteau Suisse
 Diapo
 Imprimer document
 Menus deroulants
 Thickbox v2
 Nombres de visiteurs connectés

D’avance, merci pour vos réponses.

Arnaud.