Une fois les frayeurs passées, je croyais être tiré d'affaire. Et bien non ! En effet, nous avons assisté aujourd'hui à une montée en charge de MySQL et a des locks sauvages sur des requêtes.

Après enquête, aidé de Remi, nous avons pu incriminer une requête bien particulière et avec un coup de regexxer, nous avons pu trouver le coupable : le plugin qui fourni les RSS des forums. En effet, ce mode pose clairement un problème sur les gros forums, la cause en est une requête arrogante avec de multiples jointures le tout trié par date pour, au final, n'en récupérer que les 15 derniers via une clause LIMIT.

Petit rappel MySQL, si on fait un tri sur 500.000 champs et que l'on en prend que 15, la requête va quand même faire des opérations sur 500.000 champs et dans le cas de ce plugin, passer par une table temporaire... Bref, au final, ça fait des slow-queries dans tout les sens !

La solution, déjà un peu de lecture, ensuite faire un maximum de discriminations dans la clause WHERE afin de rapatrier moins de ligne. Pour info, j'ai posté une rapide rustine sur les forums de fluxBB.fr