web-dev-qa-db-fra.com

Le site web est lent: conseils en optimisation

Ce site Web basé sur WordPress que je viens de publier est extrêmement lent.

J'ai beaucoup optimisé mon thème et j'obtiens une vitesse de production de 91/100, mais le coupable est la première fois: il faut compter entre 8 et 20 secondes.

J'ai installé W3 Total Cache, Memcache, APC, eAccelerator, xCache, mais le site continue d'être très lent.

Serveur: CentOS 5.7 (x86_64), 2G de RAM, CPU: 1 Intel (R) Celeron (R) CPU 2,80 GHz Mysql 5.1 PHP: 5.2.7 Apache 2.2

4
pixeline

Si possible, mettez votre PHP à jour dans la branche 5.4.x.

Avant d'ajouter votre couche de mise en cache, vous devez déterminer ce qui ralentit MySql et PHP.

Vous devez activer WP_Debug et éliminer toutes les erreurs PHP. Recherchez des index non définis, des erreurs de syntaxe et des fonctions obsolètes.

Ces 20 secondes au premier octet concernent tous PHP, MySQL et/ou WordPress. Cela ressemble à une mauvaise fuite de mémoire due à un code mal écrit ou à des temps de requête extrêmement longs. Avez-vous des requêtes coûteuses, par exemple meta_query?

Je recommanderais d'installer le Debug Bar et Debug Bar Extender plugins. Activez le profilage et définissez des points de contrôle sur différentes parties de vos modèles, comme avant et après toute requête spéciale.

Pour définir un point de contrôle, utilisez la fonction: dbgx_checkpoint( $note="" ) Utilisez la variable $ note pour répertorier l'emplacement du point de contrôle.

Le profileur enregistrera les temps d’exécution et l’utilisation de la mémoire pour localiser tout problème.

Il vous donnera également une image claire du cache d'objets si vous utilisez un plugin de cache d'objets WordPress.

De plus, APC, eAccelerator, xCache ne fonctionneront pas tous en même temps et feront exploser votre site si vous l'essayez (je suis sûr que vous vouliez probablement dire que vous avez essayé chacun d'eux).

7
Chris_O

Si vous réalisez que le problème n'est pas lié à un serveur, mais plutôt constitué d'erreurs ou de codes erronés à l'intérieur de votre thème (personnalisé), je vous suggère fortement de l'exécuter:

Définissez votre WP_DEBUG sur true et installez this plugin. C’est un plaisir d’utiliser cette liste et elle répertorie tous les extraits de code, sélecteurs, fonctions, etc. majeurs (et même mineurs) qui doivent ou doivent être modifiés.

1
cr0z3r

Et avez-vous fait un yahoo Yslow - voyez combien de requêtes http sont chargées en premier (rien n'est mis en cache)

Cela vous aidera également à identifier ce que vous pouvez faire - ex. Smush images, etc.

1
anmari

J'étais dans une situation similaire. Dans mon cas, c’est le thème personnalisé qui n’a pas été mis à jour pendant un certain temps. Je l'ai trouvé enen changeant le thème comme thème par défaut de TwentyTen (sur un environnement de test), puis j'ai demandé au développeur de corriger/mettre à jour le code du thème.

0
Pothi Kalimuthu

Utilisez mod_deflate dans votre htaccess et vous pouvez manuellement rendre votre contenu cachable. CDN est utile si vous souhaitez diffuser du contenu statique en fonction de l’emplacement des visiteurs.

Ces plugins ne sont pas bons du tout. Si vous connaissez le code et l’optimisation, vous ne les utilisez pas. P3 Plugin Scanner est ce qui vous montre quels plugins sont trop lourds;)

0
Meigo62
  • Vous n'avez pas besoin de memcache, APC, eAccelerator, xCache tous ensemble .. sélectionnez-en un et utilisez-le seulement.
  • Sauf si vous utilisez FCGId, je suggère APC. N'oubliez pas d'augmenter la taille par défaut de apc. ses 32 Mo seulement et vous avez besoin de plus pour WordPress .. Exemple: apc.shm_size=256M
0
Ünsal Korkmaz

En plus d'utiliser toutes les informations de débogage déjà présentes, essayez de désactiver vos plug-ins et de les réactiver systématiquement pour vous aider à trouver un plug-in devant être refondu. Cela vaut aussi pour les thèmes. Essayez de passer à une copie vierge du thème 2011 de wp.

0
Jonnybojangles

Oui, j'ai rencontré le même problème pour mon site Web, où j'ai lancé un tutoriel. J'ai utilisé le rapport d'analyse détaillé généré par PageSpeedOptimizer.com et j'ai appris que le problème le plus important auquel mon site Web était confronté était dû au nombre important d'images et à un blocage du rendu. Même le problème de levier de cache était là mais je l'ai enlevé. Vous pouvez donc également le vérifier et résoudre les problèmes mentionnés dans le rapport.

0
Jaffer Wilson

Les plugins sont souvent les coupables

Avez-vous essayé de désactiver tous les plugins et de tester votre vitesse là-bas? Généralement, le code inefficace qui peut affecter un site est celui-ci de manière significative dans un plugin mal codé. Si vous rencontrez toujours des problèmes, désactivez tout et voyez si vous constatez un changement important à la performance.

Puisque vous utilisez de bons outils de mise en cache (assurez-vous qu'ils sont correctement configurés et qu'ils ne se combattent pas), le coupable de votre problème principal sera presque toujours une mauvaise requête quelque part. Les personnes qui codent le noyau de CMS de qualité comme WordPress et Drupal font généralement un excellent travail - pas parfait, aucun code ne l’a jamais été, mais le code du CMS de base sera supérieur au code de plugin 9 fois sur 10.

Parfois, trop de schémas/d’outils de cache peuvent vous nuire

Essayez Varnish, mais pas en même temps, vous avez memcached eAccelerator, ou xcache activé. APC devrait bien se passer mais soyez attentif. Varnish est un cache de proxy inverse qui intercepte une requête avant qu'elle n'arrive dans l'application si cette page a déjà été chargée, ce qui m'a permis d'obtenir des augmentations de performances fantastiques.

Vous voudrez peut-être accéder aux paramètres de votre cache total W3 et au lieu de simplement activer toutes les options, essayez différentes combinaisons. La mise en cache de la base de données est généralement très utile, et le cache d'opcode APC est presque toujours bon pour une amélioration de 35% des performances, mais uniquement pour le côté php de la pile LAMP.

Obtenez vos fichiers statiques sur un CDN (réseau de distribution de contenu).

W3 Total Cache a un paramètre pour CloudFlare et je lui ai donné une chance sur un site lent. Il y a un niveau gratuit et il fait toujours le travail très bien pour moi. Ils vous demanderont de remplacer vos serveurs DNS par des leurs, ce n'est pas grave. Cela leur permettra simplement d'héberger vos fichiers multimédia et d'autres types de contenu sur un serveur extrêmement rapide doté de points d'accès répartis géographiquement, ce qui réduit le nombre de sauts. Cela ne s'applique pas précisément à votre problème de base de données, mais j'utiliserai toute amélioration rentable (c'est-à-dire gratuite) que je peux trouver et cela fera une différence.

Pour utiliser CloudFlare, créez simplement un compte gratuit ou passez à un niveau de service supérieur (ajout de fonctionnalités, pas de rapidité). Il vous suffira ensuite de suivre les instructions et de brancher votre clé d'API dans la zone appropriée de la page des paramètres de W3 Total Cache. .

Post-scriptum Je ne suis pas intéressé par Cloudflare, je suis certain qu'il existe de nombreux autres services, mais l'intégration à W3 Total Cache simplifie énormément la tâche et les résultats m'ont vraiment impressionnée.

0
amatusko

Je gère plusieurs sites, certains ayant eu 4 ou 5 thèmes de tierces parties exécutés à des moments différents et j'ai eu des problèmes similaires. Le problème pour moi était, la plupart du temps, des conflits de thèmes/plugins.

Exemple: Un site avait plus de 30 plugins en cours d'exécution et un thème tiers et s'exécutait rapidement. Changé pour un nouveau thème et le site a commencé à consommer de l’énergie VPS (je gère la plupart des sites sur un seul VPS) et tous les sites ont commencé à ralentir. C'est vraiment incroyable qu'un conflit de thème/plug-in puisse écraser tout le système. Donc, tous les conseils concernant la vérification des plugins sont, à mon avis, de bons conseils. Je ne fais que 13 plugins sur le site pour le moment (bbpress/buddypress et autres éléments essentiels).

Si vous pouvez le faire vous-même ou que le développeur le fasse, modifiez le thème pour faire ce que vos plugins faisaient auparavant et vous aurez un système beaucoup plus efficace.

0
Kalan Star