Comment faire pour optimiser un blog?

44 commentaires sur “Comment faire pour optimiser un blog?”

  1. Les stats de mon blog chez Gandi donnent :

    01 blog.julnav.com 47.21 KB 1.23 seconds 0.03 seconds

    Cela fait quand même une sacrée différence !

  2. Pour ton cache, sans avoir à bidouiller avec un APC cache, la méthode la plus simple et rapide et d’utiliser le cache de WordPress : met define(‘ENABLE_CACHE’, true); dans le fichier wp-config.php (mais il semble poser problème). Sinon tu peux utiliser le plugin Wp-cache qui est très très bien. Personnellement c’est ce que je fais sur mon blog est le gain est nettement visible (près de 50%) et en plus c’est économique pour la base de données.

  3. JUL c’est une des questions que je me pose en ce moment!

    Merci bertrand je vais regarder cela ce we… Quitte à passer sous wp-cache!

  4. Je trouve aussi qu’OVH a des problèmes de lenteur ces temps-ci…

    Mais le problème, c’est surtout que ce n’est pas régulier… d’une minute à l’autre, cela varie trop… :(

  5. Oui pour pouvoir optimiser, il faudrait réussir à déterminer quels sont les composants les plus lents!
    Si les scripts des services externes comptent pour 80% du temps de chargement, c’est une perte de temps de s’attarder sur les optimisations wordpress ou MySQL…
    Essaie de désactiver tous tes scripts pour voir, et réactive les 1 à 1 pour voir le coût unitaire de chaque script.

  6. C’est ce que j’aurais dit Henri, activer la mise en cache de tes pages (un commentaire sur le blog de JF Ruiz explique comment l’activer dans une version 2 ou plus)

  7. La diminution du nombre de billets par page est effectivement la meilleure solution pour accélerer les temps de chargement.

    Je viens de passer de 15 à 7 billets, mon temps de chargement a été divisé au moins par trois :-/

  8. Je dirais qu’il faut installer WP-Cache pour un gain non négligeable du côté de l’utilisation des ressources du serveur, et ne garder qu’un seul système de stats JavaScript externe pour limiter l’utilisation des ressources côté client.

    Plus d’un service de stats externe en sus des les stats de ton hébergeur, c’est du luxe à mon avis.

    http://mnm.uib.es/gallir/wp-cache-2/

    Là actuellement pour charger uniquement cette page mon navigateur a téléchargé 558 Ko de données, c’est absolument énorme. Et encore, mon navigateur ne charge pas la majorité des pubs. Sans parler du temps qu’il lui faut ensuite pour parser tout ce fourbi :-)

  9. – Active le slow_query_log de MySQL.
    – Regarde les requetes qui sont lentes.
    – Crée des index sur les enregistrements qui servent a certaines query slow.
    – Vérifie s’il y a des lock qui se crée
    – Vérifie ce qui cause les locks
    – Isole les requetes de lock ou élimine les.

    Si ca semble etre autre chose que MySQL …

    – Vérifie le load général du serveur
    – Vérifie l’utilisation du CPU
    – Vérifie les process Apache
    – VÉrifie le RAM libre

    Si le serveur n’est plus suffisant …

    – Implante du Load Balancing
    – Utilise un serveur de base de données séparé (pas le meme que le web).

    Ca pourrait aider ….

  10. J’oubliais …

    Si ton blog roule encore sur un hébergement mutulisé, passe au dédié. Le réseau semble avoir un ping acceptable … mais bon ca peut aider aussi de trouver un réseau plus performant si tu crois que c’est le problème.

  11. D’après ce que je lisais dans les listes de diffusion concernées, OVH aurait normalement un rapport d’au moins 2 en puissance de machines pour faire tourner l’ensemble des sites web mutualisés aux heures de pointe. Cela dit, cela devait aussi être le cas pour le traitement des emails, et une recrudescence du spam a récemment sensiblement ralenti la livraison des messages…

    Si ton trafic devait réellement augmenter, il faudrait vérifier si le nombre d’accès à la base de données (limité par ton plan chez OVH) permet de servir tous les visiteurs. Mais a priori, cela devrait être très largement suffisant.

    Quelques tests à l’instant (les deux derniers étant hébergés sur mon serveur) :

    Domain name / Size / Load time (secs) / Average Speed per KB
    http://www.french20.fr 44.29 KB 1.33 seconds 0.03 seconds
    http://www.2803.com 40.61 KB 1.23 seconds 0.03 seconds
    http://www.presse-citron.net 41.52 KB 1.97 seconds 0.05 seconds
    lightpress.org 38.05 KB 0.97 seconds 0.03 seconds
    http://www.imazine.fr 99.95 KB 1.67 seconds 0.02 seconds
    http://www.loiclemeur.com/france/ 189.04 KB 2.74 seconds 0.01 seconds
    unearaigneeauplafond.be 32.89 KB 1.03 seconds 0.03 seconds
    blog.lesperlesduchat.com/perles.php 24.83 KB 1.61 seconds 0.06 seconds

    Si tu tiens à accélérer ton blog, pense surtout à enlever (y compris en les supprimant physiquement de ton espace d’hébergement web) tous les plug-ins WordPress qui ne te semblent pas vitaux. Outre le fait que le PHP est un langage assez lent, les fonctions les plus rapides sont celles qui ne sont pas appelées. ;-)

    Pour ce qui est des solutions telles que les caches code PHP, non gérées sur les plans mutualisés d’OVH, il en existe essentiellement deux :

    – APC (utilisé notamment par Yahoo!) ;
    – eAccelerator.

    J’avais essayé eAccelerator sur mon ancien serveur qui m’a fait gagner un rapport 2 de vitesse environ sur le chargement d’une page PHP. Je vais essayer de l’installer de nouveau sur ce serveur, quand j’aurais compris comment ! ;-)

    Si vraiment, tu devais rencontrer des difficultés de trafic, WordPress.com propose des solutions d’hébergement de blogs haut de gamme assez hors de prix ! ;-)

    Si tu veux, henri, je peux te mettre à disposition un compte sur mon serveur dédié pour faire des tests de performances (P4 Dual Core 3 GHz, 1 Go de RAM, bande passante de 100 Mbps). Il est assez sous-exploité, en ce moment. Cela dit… la continuité du service laisse parfois à désirer, comme je suis un administrateur serveur encore débutant…

  12. Je sais pas si WordPress a cette fonctionnalité, mais sur mon forum tu peux activer une fonction qui sépare le temps des accès Mysql aux requêtes PHP, et t’indique le temps qu’a pris l’un et l’autre.
    Ca te permettrait déjà de savoir où ca coince, si c’est au niveau SQL (donc serveur SQL surchargé) ou au niveau PHP (trop de modules? serveur plié?).

  13. En fait voici les erreurs que j’ai avec le plugin wp-cache :

    Warning: sem_get() [function.sem-get]: failed for key 0x152b: Permission denied in /home.10.3/XXXXXX/www/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 81

    pourtant le fichier est en permission 777…

    Sur le chargement d’une page non présente dans le cache voici les erreurs :

    Warning: sem_get() [function.sem-get]: failed for key 0x152b: Permission denied in /home.10.3/XXXX/www/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 81

    Warning: sem_acquire(): supplied argument is not a valid SysV semaphore resource in /home.10.3/XXXX/www/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 90

    Warning: sem_release(): supplied argument is not a valid SysV semaphore resource in /home.10.3/XXXX/www/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 99

    Warning: Cannot modify header information – headers already sent by (output started at /home.10.3/XXXX/www/wp-content/plugins/wp-cache/wp-cache-phase2.php:81) in /home.10.3/XXXX/www/wp-includes/pluggable-functions.php on line 272

  14. 1er test:
    01 befaure.blogspot.com/index.html 124.25 KB 0.52 seconds 0 seconds
    02 mathetfleur.blogspot.com/ 67.83 KB 0.34 seconds 0.01 seconds
    03 http://www.presse-citron.net/ 42.87 KB 2.51 seconds 0.06 seconds
    04 http://www.margaritasanteporcos.com/ 15.39 KB 0.65 seconds 0.04 seconds
    05 http://www.loiclemeur.com/france/ 189.03 KB 2.72 seconds 0.01 seconds
    06 http://www.2803.com/ 40.71 KB 11.13 seconds 0.27 seconds
    2eme test:
    01 befaure.blogspot.com/index.html 124.25 KB 0.48 seconds 0 seconds
    02 mathetfleur.blogspot.com/ 67.83 KB 0.33 seconds 0 seconds
    03 http://www.presse-citron.net/ 42.87 KB 1.91 seconds 0.04 seconds
    04 http://www.margaritasanteporcos.com/ 15.39 KB 0.65 seconds 0.04 seconds
    05 http://www.loiclemeur.com/france/ 189.03 KB 2.72 seconds 0.01 seconds
    06 http://www.2803.com/ 40.71 KB 1.39 seconds 0.03 seconds

    En fait, c’est très variable … celui de presse-citron n’est pas mieux en fait …

  15. D’après ce que je lis dans la doc d’installation de WP-Cache, le plug-in semble utiliser les liens symboliques. Il est possible qu’Apache sur les plans mutualisés ne gère pas les liens symboliques par défaut. Aussi, tu peux éventuellement tenter d’éditer le fichier .htaccess à la racine de ton blog pour y insérer la ligne suivante :

    Options Indexes FollowSymlinks MultiViews

    Par ailleurs, la doc de WP-Cache indique que dans l’écran d’options du plug-in, il y a de la configuration à faire ou du moins des messages d’erreur indiquant les étapes à réaliser pour corriger d’éventuels problèmes…

  16. De même, j’ai vu qu tu avais supprimé certains ajouts (feedbutton par ex.).
    C’est une bonne idée, je me suis par exemple rendu compte hier que ce bouton mettait un temps affreusement long à se charger… et bloquer le reste de la page. :(

    D’ailleurs, je cherche une solution comparable et viable :)

  17. Coté MySQL : vérifier les index ?
    Coté PHP : Pour faire du profiling et trouver les plug-in qui consomment le plus je te conseil deux outils simples et très pratiques : Xdebug et wincachegrid.

    Comme tu n’as pas un serveur dédié je te conseil d’installer sous windows (compter 10min) Wamp, tu y installe une copie de ton blog (fichiers via FTP, Base via PHPMyAdmin).
    Une fois qu’il tourne sur ta machine, tu install l’extention xdebug de PHP (plein de tutoriaux expliquent comment faire, ça prend 5 min).
    Enfin tu install wincachegrid qui est un soft opensource de profiling sous windows (5min too).
    Et grâce à cela tu aura le temps exact d’execution de chaque partie de script et tu poura déterminer précisément « qui te coute cher ».

    Enfin Coté Apache : peux tu activer la compression Gzip pour alleger encore un peu tes pages ?

  18. mrboo, la compression des pages dynamiques (donc effectuée de A à Z à chaque page servie) n’est que rarement intéressante. En effet, il faudrait que le processeur du serveur soit plus rapide à compresser que la bande passante allouée du côté serveur et du côté client (c’est le plus lent des deux qui ralentit). Généralement, à moins d’avoir des clients dont la connexion Internet est limitée (modem classique, soit environ 10 % des visiteurs de l’un de mes blogs, notamment), la compression n’accélère pas le chargement des pages (à ma connaissance, les serveurs mutualisés de chez OVH sont connectés à 100 Mbps).

  19. kwa> en effet le gain par GZip ne doit pas être énorme, de toutes façons le problème semble plus lié à l’utilisation importante de plugins externes avec des chargements de tout les cotés vers des API plutot qu’un problème de charge CPU ou de Bande Passante.

Les commentaires sont fermés.