Drupal est rapide à développer, mais les performances sont si médiocres. Il est difficile d’atteindre 50 demandes par seconde.
Et il y a tellement de requêtes SQL dans une simple page Web. Si vous testez l'heure de la demande d'un formulaire soumis sur Drupal.org, il faudra toujours quelques secondes pour le terminer.
Comment améliorez-vous la vitesse de votre site Web?
7
6
performance
Bruce Dou
la source
la source
Réponses:
Mise en cache, mise en cache et mise en cache.
Quelques suggestions que j'ai déjà données à une question similaire sur do
la source
Ce sont des notes tirées de mes expériences et qui pourraient différer de celles des autres. J'utilise principalement la pile LAMP et j'ai pris en compte la même chose dans mes suggestions.
Règles du pouce pour la mise en cache que je suis généralement.
Améliorer les performances d'un site Drupal (dans l'ordre croissant de complexité)
Gardez le noyau mis à jour, le module contrib et les thèmes à jour. Oui c'est important.
Installez APC sur votre serveur. (Déplacé vers le haut sur la suggestion de Letharion)
Mise en cache de la page: admin / config / development / performance Différence entre la durée de vie minimale du cache et l'expiration des pages en cache
Utiliser des feuilles de Sprite - https://www.drupal.org/project/spritesheets
Définissez la valeur minimale de la durée de vie du cache sur un nombre plus élevé et utilisez des modules d'effacement du cache pour effacer les caches de pages spécifiques. Chaque fois que je modifie / mets à jour un nœud, tous les caches de pages pour les utilisateurs anonymes sont perdus.
la source
Le module Boost est également très utile, il crée des caches de fichiers statiques à partir de vos pages Web. C'est surtout pour les sites Web avec beaucoup de trafic d'utilisateurs anonymes.
la source
Il vaut la peine de mentionner que si vous utilisez le pilote de base de données SQLIte, vous devrez peut-être désactiver la synchronisation de disque.
Sur certaines configurations de serveur, les performances seront considérablement améliorées.
la source
Le secret des performances de Drupal réside dans la mise en cache et dans le respect des bonnes pratiques. Suggestions:
Drupal back-end
Drupal front-end
defer
ouasync
.PHP
Base de données
Serveur
Sites Web à fort trafic
Si vous vous attendez à une charge élevée pour votre site Web, utilisez Varnish. Pensez également à utiliser CDN.
Pour en savoir plus, consultez: Expérience du monde réel dans les performances de mise à l'échelle et de réglage
Autres ressources:
la source
Il existe un livre intitulé High Performance Drupal qui fournit les meilleures pratiques, des exemples et des explications détaillées pour résoudre plusieurs problèmes de performances et d’évolutivité. Vous apprendrez à appliquer les techniques de codage et d'infrastructure aux ressources internes de Drupal, aux performances des applications, aux bases de données, aux serveurs Web et à l'analyse des performances.
Dans l'article Performances et évolutivité de Drupal 7, vous trouverez des exemples sur Drupal 6 et Drupal 7, ainsi que la liste suivante:
la source
Il y a eu de nombreux ajustements pour optimiser les performances de votre site Drupal - mais tous ne sont pas impératifs. Nous devons rechercher certaines alternatives et techniques qui permettraient d’optimiser la plate-forme de Drupal. La mémoire cache, oui, c’est un moyen d’optimiser le site Web par différents moyens, mais quelques ajouts et conseils supplémentaires peuvent augmenter et optimiser votre site Web sans processus fastidieux.
Nous avons récemment publié un article similaire sur notre site Web qui, à mon avis, pourrait vous aider à peaufiner votre travail.
Source: http://www.cloudreviews.com/blog/drupal-performance-optimization-tips
la source
Il est possible d’améliorer la vitesse de Drupal à un niveau raisonnable en n’installant aucun nouveau module. Oui, Drupal a une configuration de performance.
Activer 'agréger les fichiers JavaScript'
Une fois ces configurations définies, accédez à: VotreSiteDomaine / admin / reports / status
Et maintenant, vous avez terminé l'optimisation de la vitesse pour votre site drupal 7.
Il existe peu d'outils de test de vitesse en ligne pour vérifier la vitesse. Veillez à utiliser l'un des outils de vérification de la vitesse et à effectuer un test avant de mettre à jour les paramètres ci-dessus. Et une fois que vous avez mis à jour le paramètre de performance, exécutez à nouveau le test de vitesse. Vous allez certainement voir une amélioration.
Pingdom et HTTP Fox (plug-in FireFox) sont les meilleurs outils pour vérifier la vitesse du site.
Les paramètres ci-dessus mettent non seulement vos pages en cache pour les utilisateurs anonymes, mais aussi les fichiers CSS et JS. Exemple si votre site charge 80 fichiers, publiez ces paramètres, le nombre de requêtes sera réduit à au moins 50%. Vous avez donc ici une amélioration de la vitesse de 2x sur votre site Drupal.
la source
En tant que développeur backend, il est toujours possible d'améliorer votre code afin d'améliorer les performances du site Web. Quelques lignes directrices pour les développeurs backend pourraient être:
1) Nettoyez votre table de surveillance
2) Ne pas abuser de la variable API
3) Faire moins ou mieux requêtes HTTP
4) Gardez votre "module de points" court
En ce qui concerne les constructeurs de polices et de sites, bien plus peut être réalisé, mais il est important de prendre en compte les performances à tous les points de vue.
Source: Optimiser avant de commencer
la source
Un site Drupal 7 non optimisé avec 2 Go de RAM peut traiter de manière satisfaisante environ 20 à 25 demandes par seconde. Si vous voulez aller plus loin, le site nécessitera quelques modifications. Ce que vous peaufinez dépend si la plupart des utilisateurs du site sont anonymes ou authentifiés. Voici les principales choses que vous pouvez faire pour améliorer les performances:
Le site sert principalement des utilisateurs anonymes:
1) Installez et configurez définitivement APC, memcache et entitycache.
2) Placez le proxy Varnish devant le serveur Web. L'installation et la configuration prennent environ 30 minutes, mais réduiront considérablement le temps de chargement de vos pages. En fait, Varnish peut traiter environ 300 demandes par seconde sur un ordinateur de 2 Go si toutes les pages sont mises en cache. Utilisez le module Expirer pour n'expirer que les pages sélectionnées lors de la mise à jour / suppression de contenu.
3) Utilisez le module d’agrégation avancée CSS / JS pour regrouper les fichiers CSS et JS. Essayez de déplacer tous les fichiers JS au bas de la page. Mais notez que cela peut casser votre site, alors implémentez-le en production après des tests approfondis. Également expérimenter avec l'inlining CSS critique. D'après mon expérience, le temps de chargement d'une page sera réduit d'environ une demi-seconde.
4) Les images CSS / JS / doivent avoir un en-tête d'expiration très lointain. Cela garantira que les navigateurs ne demanderont pas toujours les mêmes CSS / JS / images.
5) Assurez-vous que le serveur Web sert des pages compressées / CSS / JS.
Après avoir implémenté les 5 étapes ci-dessus, votre serveur RAM de 2 Go devrait pouvoir traiter 50 requêtes par seconde assez facilement.
Le site sert principalement des utilisateurs authentifiés:
Optimiser un tel site est plus complexe. Ces sites appartiennent à l'une des deux sous-catégories à des fins d'optimisation:
(a) La plupart des pages du site sont identiques, à l'exception de 1 ou 2 blocs contenant des informations spécifiques à l'utilisateur. Par exemple, le site Drupal Commerce.
(b) La plupart des pages sont entièrement personnalisées pour l'utilisateur. Par exemple, le site Drupal Commons.
Si votre site entre dans la catégorie (a), appliquez la plupart des techniques dont nous avons parlé pour le site servant principalement des utilisateurs anonymes. La seule différence est que pour les pages non admin, Varnish devra supprimer le cookie SESSION de l'en-tête et servir les pages en cache. Utilisez le module AJAX Block pour les blocs de serveurs contenant des informations spécifiques à l'utilisateur à l'aide d'AJAX. De cette façon, la plus grande partie de la page sera servie très rapidement avec Varnish, puis les informations propres à l'utilisateur seront diffusées via AJAX.
Si votre site tombe dans la catégorie (b), utilisez le module Authcache. Je préfère ne pas l'utiliser autant que possible car il nécessite un peu de configuration et de maintenance. Mais ça marche vraiment bien. Ce ne sera pas aussi rapide que d'utiliser Varnish, mais il pourra traiter 50 demandes par seconde que vous recherchez.
Si vous souhaitez aller au-delà de ce que nous avons discuté ici, consultez la liste de contrôle d'optimisation des performances Drupal . Divulgation: Il est écrit par moi. Il cite une liste exhaustive de choses que vous pouvez faire pour que votre site Drupal flambe rapidement.
la source