Depuis quelques jours, le serveur mysql de l'Apinc connait de fort ralentissement. C'est bien simple, il croule sous les requêtes, à cause du nombre de site grandissant, du trafic augmentant, mais aussi à cause de requêtes trop gourmandes. Et pour certaines trop trop gourmandes. À tel point que mysql a fini par faire grêve ce week-end. Plus rien. Nada.

Mat (le même que celui d'openweb), admin système à ses heures à l'Apinc, observe depuis quelques semaines ces problèmes. Il est depuis passé à l'action : il essaye de contacter les propriétaires des sites fautifs pour qu'ils essayent d'optimiser un peu leur code, qu'ils arrêtent de faire des requêtes pourries. Peine perdue pour certains d'entre eux : ils ne sont pas développeurs et utilisent des trucs comme spip, phpbb et autres softs prêts à l'emploi souvent codés avec les pieds au niveau SQL. Et puis il y a d'autres webmestres qui ont fait leur site à la main, qui eux peuvent donc améliorer leurs scripts pourries. Et j'en fait parti.

J'ai en effet mon site sur tahiti chez l'apinc, un truc développé en 2001 pour la plus grosse partie, et peu retouché depuis. Autant vous dire que le code date ! Aprés donc m'être fait taper sur les doigts avoir été averti par Mat, je me suis replongé dans mes antiquités PHP, et j'avoue que c'est assez effrayant de se relire 5-6 ans après. Je vous passerai les détails tellement j'ai honte :-). Bon aller, si, assumons : du genre des index manquants, des GROUP BY et autres jointures dans tous les sens alors qu'avec un peu d'astuce, cela peut être évité (un peu de duplications d'infos peut être plus intéressants finalement que de faire des requêtes hyper complexes), récupérations de listes partielles d'enregistrements sans utiliser le mot clé LIMIT etc...

Et donc j'ai passé mon temps libre ce week-end à reprendre tout ça, à faire du nettoyage. En espérant que cela puisse contribuer à diminuer la charge du serveur mysql de l'apinc :-)

PS : au passage, je recherche un webdesigner bénévole qui serait volontaire pour rafraîchir un peu le design de mon site tahiti-fenua.