PDA

Voir la version complète : Optimiser la vitesse d'un forum Vbulletin


esf
27/07/2007, 15h10
Trois trucs:

Voir l'article.
Compresser les templates s'il existe un hack compatible avec votre version de Vb (j'ai cru voir un hack de compression des templates sur vb-ressources).
Faire héberger son forum chez un hébergeur qui optimise ses sites (gzip, mod_gzip activé, eAccelerator ou APC) et qui est localisé près de votre clientèle cible.



Article:

Accroitre la vitesse du forum.

Déplacer les pièces jointes depuis la base de données vers le système de fichiers.
Par défaut, la plupart des forums stockent les fichiers joints dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Pièces jointes/Type de stockage des pièces jointes. Vous devez indiquer le chemin d'accès (server path) au dossier attachments (CHMod à 777) où vous voulez stocker les pièces jointes et que vous aurez préalablement créé. Par exemple /home/yourCPanelusername/public_html/forumsdirectory/attachments.
Déplacer les avatars depuis la base de données vers le système de fichiers.
Par défaut, la plupart des forums stockent les avatars dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Avatars/Type de stockage des Avatars. Vous devez indiquer le chemin relatif au dossier de stockage des avatars et le CHModder à 777: Customavatars créé par défaut lors de l'installation du forum. Vous devez aussi indiquer l'URL relative à la page d'accueil du forum.
Stocker les feuilles de style CSS dans des fichiers.
Par défaut, la plupart des forums stockent les feuilles de style dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Style & Langue/Stocker les feuilles de style CSS dans des fichiers. Vous cochez Oui. Vous devez au préalable avoir créé un sous-répertoire nommé « vbulletin_css » dans le répertoire « clientscript » et le CHModder à 777.
Activer la compression GZIP.
Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Cookies et en-têtes HTTP/Stocker Sortie HTML avec compression GZIP. Vous cochez Oui. Si le module Apache mod_gzip est installé sur votre serveur, n'activez pas cette option. Votre serveur essaierait inutilement de compresser des pages déjà compressées par le module.
Désactiver "Ajouter des headers no-cache HTTP".
Activer cette fonction augmente considérablement la charge du serveur car les requêtes pour l'affichage des pages sont plus lourdes. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Cookies et en-têtes HTTP/Ajouter des headers no-cache HTTP. Vous cochez Non.
Désactiver la "Mise à jour du nombre d'affichages en temps réel".
Si vous avez un forum très fréquenté, vous souhaiterez probablement désactiver la mise à jour en temps réel car elle sollicite davantage les capacités du serveur. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Paramètres du serveur et optimisation/Mise à jour du nombre d'affichages en temps réel. Vous cochez Non.
Désactiver la "Mise à jour du nombre de téléchargements des pièces jointes en temps réel".
Si vous disposez d'un grand nombre d'images jointes, il est recommandé de désactiver l'option. La mise à jour immédiate augmente en effet sensiblement l'utilisation des ressources du serveur. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Paramètres du serveur et optimisation/Mise à jour du nombre de téléchargements des pièces jointes en temps réel. Vous cochez Non.
Augmenter la durée de vie des messages mis en cache.
La mise en cache permet un affichage des discussions plus rapide mais double approximativement la place requise pour stocker les messages. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Paramètres du serveur et optimisation/Durée de vie des messages mis en cache. Mettre 90.
Désactiver les fonctions Recherche et Qui est en ligne pour les invités.
Sous Vb, cette option s'effectue à AdminCP/Groupes d'utilisateurs/Gestionnaire de groupes/Non inscrit/Non connecté et modifiez le groupe.
Désactiver "Montrer les discussions suivies".
Cette option peut affecter les performances des forums. Sous Vb, cette option s'effectue à AdminCP/Affichage des discussions/ Montrer les discussions suivies. Cochez Non.
Désactiver la fonction " Recherche automatique des discussions similaires".
Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Recherche de messages/Recherche automatique des discussions similaires.
Désactiver la fonction "Afficher les utilisateurs présents sur chaque forum".
Cette option nécessite une requête supplémentaire et peut affecter les performances des forums. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Affichage des forums (forumdisplay) /Afficher les utilisateurs présents sur chaque forum. Sélectionnez Non.
Minimiser Hacks & Requêtes MySQL.
Minimiser le nombre de hacks/requêtes MySQL installés. Par exemple, supprimer l'information 'x Visiteurs présents sur Forum id' enlève 1 requête MySQL.
Minimiser le style.
Se limiter au style Vbulletin par défaut ou installer un style le plus léger possible.


Économiser de la bande passante.

Déplacer les pièces jointes depuis la base de données vers le système de fichiers.
Par défaut, la plupart des forums stockent les fichiers joints dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Pièces jointes/Type de stockage des pièces jointes. Vous devez indiquer le chemin d'accès (server path) au dossier attachments (CHMod à 777) où vous voulez stocker les pièces jointes et que vous aurez préalablement créé. Par exemple /home/yourCPanelusername/public_html/forumsdirectory/attachments.
Déplacer les avatars depuis la base de données vers le système de fichiers.
Par défaut, la plupart des forums stockent les avatars dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Avatars/Type de stockage des Avatars. Vous devez indiquer le chemin relatif au dossier de stockage des avatars et le CHModder à 777: Customavatars créé par défaut lors de l'installation du forum. Vous devez aussi indiquer l'URL relative à la page d'accueil du forum.
Stocker les feuilles de style CSS dans des fichiers.
Par défaut, la plupart des forums stockent les feuilles de style dans la base de données. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Style & Langue/Stocker les feuilles de style CSS dans des fichiers. Vous cochez Oui. Vous devez au préalable avoir créé un sous-répertoire nommé « vbulletin_css » dans le répertoire « clientscript » et le CHModder à 777.
Activer la compression GZIP.
Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Cookies et en-têtes HTTP/Stocker Sortie HTML avec compression GZIP. Vous cochez Oui. Si le module Apache mod_gzip est installé sur votre serveur, n'activez pas cette option. Votre serveur essaierait inutilement de compresser des pages déjà compressées par le module.
Désactiver "Ajouter des headers no-cache HTTP".
Activer cette fonction augmente considérablement la charge du serveur car les requêtes pour l'affichage des pages sont plus lourdes. Sous Vb, cette option s'effectue à AdminCP/Options vbulletin/Cookies et en-têtes HTTP/Ajouter des headers no-cache HTTP. Vous cochez Non.
Désactiver "Ajouter le nom des templates en commentaires HTML". Cette fonction augmente de manière sensible le besoin en bande passante. Sous Vb, cette option s'effectue à AdminCP/Paramètres généraux/Ajouter le nom des templates en commentaires HTML. Cochez Non.
Désactiver "Employer le menu déroulant de navigation rapide".
Si vous avez de nombreux forums, vous pouvez vouloir désactiver le menu déroulant de Navigation rapide. Bien que le gain en performance soit marginal, cela peut diminuer une grande quantité du code HTML au bénéfice de la bande passante.
Restreindre les moteurs de recherche.
Limiter les moteurs de recherche à l'aide d'un fichier robots.txt placé à la racine de votre site. Exemple de fichier robots.txt:
User-agent: *
Disallow: /forum/clientscript/
Disallow: /forum/cpstyles/
Disallow: /forum/customavatars/
Disallow: /forum/customprofilepics/
Disallow: /forum/images/
Disallow: /forum/ajax.php
Disallow: /forum/attachment.php
Disallow: /forum/calendar.php
Disallow: /forum/cron.php
Disallow: /forum/editpost.php
Disallow: /forum/global.php
Disallow: /forum/image.php
Disallow: /forum/inlinemod.php
Disallow: /forum/joinrequests.php
Disallow: /forum/login.php
Disallow: /forum/member.php
Disallow: /forum/memberlist.php
Disallow: /forum/misc.php
Disallow: /forum/moderator.php
Disallow: /forum/newattachment.php
Disallow: /forum/newreply.php
Disallow: /forum/newthread.php
Disallow: /forum/online.php
Disallow: /forum/poll.php
Disallow: /forum/postings.php
Disallow: /forum/printthread.php
Disallow: /forum/private.php
Disallow: /forum/profile.php
Disallow: /forum/register.php
Disallow: /forum/report.php
Disallow: /forum/reputation.php
Disallow: /forum/search.php
Disallow: /forum/sendmessage.php
Disallow: /forum/showgroups.php
Disallow: /forum/subscription.php
Disallow: /forum/threadrate.php
Disallow: /forum/usercp.php
Disallow: /forum/usernote.php

User-Agent: Googlebot-Image
Disallow: /


Économiser de l'espace-disque.

Mettre la durée de vie des messages mis en cache à 0 (vérifier les conséquences pour certains hacks)
Vider l'index de recherche (gain d'espace de 30 à 40%)
* Attention: si vous videz votre index, vos membres pourront effectuer des recherches mais ne trouveront rien. L'index va se reconstruire petit à petit au fur et à mesure que vos membres posteront de nouveaux messages. Vous pourrez regénérer l'index lorsque vous aurez plus d'espace-disque à votre disposition (changement de plan d'hébergement ou changement d'hébergeur).
Vider vos logs Admin et Modérateurs.

Il faut lancer l'optimisation des tables pour récupérer l'espace disponible.


Par ordre de gain de performance.

Optimiser le forum vbulletin:
1) installer un accélérateur php: eaccelerator, APC Cache... (le plus grand gain de vitesse pour vbulletin)
2) installer/activer mod_gzip si apache 1.x (mod_deflate inclus dans Apache 2.x) (second gain en importance)
3) Vb + Vbseo: déplacer le htaccess de vbseo dans httpd.conf si vous possédez votre serveur (recommandé).
4) Optimiser les paramètres du forum (voir les étapes mentionnées plus haut).

Optimiser le serveur (nécessite un accès root ou un panel évolué comme Cpanel/WHM):
1) Optimiser MySQL (paramètres, etc).
2) Optimiser Apache (version Apache: apache 2.2 est environ 10% plus rapide que apache 1.x pour les requêtes MySQL (d'après certains tests))
3) Optimiser PHP (accélérateur php, paramètres, etc).
4) Désactiver certains modules comme spammassasin, mailman.. si requis).
5) Tester et 'monitorer' la performance.


Vérifier si gzip compresse les pages php:
- http://nontroppo.org/tools/gziptest/
- http://www.gidnetwork.com/tools/gzip-test.php
- http://www.whatsmyip.org/mod_gzip_test/
- http://leknor.com/code/gziped.php



Source:
http://www.phwinfo.com/articles/article_00973.php
(http://forum.vbulletin-fr.org/showthread.php?t=7356)

Ombre
27/07/2007, 16h04
Merci pour ces tuyeaux :) ça m a l'air pas mal comme astuces ;)

footy
27/07/2007, 17h13
Merci pour les astuces
j'ai modifié le stockage des pièces jointes de la BD vers un repertoire que j'ai créé.
doit on faire de même pour les avatars?

esf
27/07/2007, 17h21
Merci pour les astuces
j'ai modifié le stockage des pièces jointes de la BD vers un repertoire que j'ai créé.
doit on faire de même pour les avatars?

Oui. Également pour les feuilles de style si vous voulez les stocker dans un répertoire.

-------
J''ai ajouté:
- une option pour les hacks/requêtes MySQL
- 2 trucs pour faire des économies d'espace-disque
* Attention: si vous videz votre index, vos membres ne pourront plus faire de recherche à moins que vous décidiez de regénérer l'index lorsque vous aurez plus d'espace-disque à votre disposition (changement de plan d'hébergement ou d'hébergeur).

@++

Raz
28/07/2007, 00h29
Merci beaucoup, y'a pas mal de bonnes idées.

Deaz
28/07/2007, 00h55
Trés beau travail ;)

Karline
28/07/2007, 07h10
Merci beaucoup Esf ;)

oOo KARIM oOo
14/05/2008, 13h37
Excellent post ! Très utile

Allan
14/05/2008, 15h41
J'avais pas vu, en effet, très bon conseils, mais ceux qui l'on fait, avez-vous eux de réelle différence significative ?

sony
14/05/2008, 17h44
merci je vais tester ça ;)

esf
31/05/2008, 18h13
J'avais pas vu, en effet, très bon conseils, mais ceux qui l'on fait, avez-vous eux de réelle différence significative ?

Cela aide mais en hébergement partagé, les plus gros bénéfices en terme de vitesse (je suppose que vous parlez de vitesse) proviennent surtout de la présence d'un accélérateur php, d'un compressseur de pages et des caractéristiques du serveur.

esf
31/05/2008, 18h14
Nombre de Requêtes MySQL: Désactiver l'Affichage des Visiteurs va économiser une requête MySQL