Par un tour de passe-passe, j’ai gagné de 30 à 60% en performance.

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Je suis tellement content de ce résultat, que j’ai décidé de partager mon bidouillage avec vous.
Je vais vous raconter mon histoire drupalienne. Certain seront peut-être horrifiés, mais bon.
J’ai commencé à faire mon premier site sous drupal il y a un peu plus d’un an. Mes connaissances pour faire des sites internet étaient égales à 0. J’ai même du regarder ce que PHP voulait dire sur wikipédia.

Je me souviens que le plus gros souci lorsque l’on commence avec drupal est de savoir quelle est la fonction des modules proposés et surtout quel module utiliser lorsque l’on a un besoin particulier. Pour cela, il n’y a pas 50 méthodes : se balader sur la liste des modules du site drupal.org, les télécharger et enfin les tester.
C’est une très bonne solution, mais il faut impérativement un site secondaire pour faire cette manip, pour ne pas faire les tests sur un site en production. Mon problème est que je ne savais pas faire cela : ni de site secondaire on-line, ni de site secondaire en locale (je vous rassure, j’ai beaucoup progressé de ce coté-là). J’ai donc testé sur mon site en production.
Après 1 an de bidouillage, je me suis retrouvé avec un site qui mettait des heures et des heures à se charger (entre 3 et 4 secondes pour la page principale, qui n’est qu’une view de base).
Etant donné qu’il y a près de 4000 nodes, je pensais que la lenteur était due à la taille de la base de donnée (près de 40 Mo – avec le module search activé). Mais je ne comprenais pas comment le site drupal.org pouvait aussi bien tourner alors qu’il est bien plus chargé que le mien. Du coté serveur je suis en chez OVH avec un hébergement mutualisé. C’est pas le top, mais bon.
Je me suis alors demandé si à force d’installer et de désinstaller des modules, la configuration de mon site ne serait pas devenu comme un vieux PC pour lequel on installe et désinstalle des logiciels. Il y a des fichiers partout qui ralentissent la bécane. J’ai donc décidé à faire une ré-installation de mon site.
Pour cela, j’ai fait une nouvelle installation de drupal et j’ai ajouté tous les modules que j’utilisais sur mon site en production et je les ai activés. J’ai donc eu un site avec les mêmes fonctionnalités, mais vide de contenu. La rapidité de naviagation avec cette installation est super (comme si aucun module n’avait été ajouté). J’ai ensuite importé toutes les tables de mon site en production sauf les tables variables et system.
Le résultat est proche du site en production, il faut encore 1 à 2 heures de travail pour qu’il soit strictement identique au site de production. En effet, quelques éléments de configuration on disparu :
- le nom du site
- les traductions (il suffit d’importer les traductions du site en production sur la nouvelle installation)
- il faut reconfigurer tous les types de contenu (ex : les commentaires, etc… les champs CCK ne sont pas modifié).
Bref if faut se balader, et corriger au fur et à mesure. Je ne suis jamais tombé sur un problème de taille.
Les résultats sont impressionnants, la page principale ne met jamais plus de 1,5 seconde à s’afficher (avec google analytics et une pub adsens). C’est un vrai succès.

Pour encore gagner en performance, j’ai ajouté le module javascript aggregator et activé l’aggregation de CSS et le cache node.

La méthode est peut-être brutale, mais très efficace et sans conséquences irréversibles. C’est assez facile à faire et dans un laps de temps assez court. Perso, je l’ai fait dans le train LYON-ORANGE soit en moins de 2 heures !!!

A vos commentaires.
Voici mon site : http://www.lefermenteurabioreaction.com/

Version de Drupal : 

Je n'en n'ai aucune idée. J'ai effectué le changement sous drupal5 et je n'ai pas de recule sur drupal6. Cependant, en locale, j'arrive assez bien à upgrader mon site de D5 à D6. Il ne devrait pas y avoir de pb pour toi.
Peut-etre que la solution est de décocher les modules 1 par 1 et de localiser le module responsable de la perte de performance.
Bon courage à toi.
Benjamin