-
octobre 5th, 2010OptimisationLorsque l’on a un site web, deux facteurs très importants sont à prendre en compte:
- combien cela va me rapporter, et donc me coûter?
- comment faire un bon référencement?On sait depuis quelques temps que le temps de réponse d’un site est pris
en
compte dans l’indexation de Google. Logiquement donc, plus un site se charge vite, plus on a espoir d’être bien classé. Cela n’est bien sûr pas là le seul critère de sélection de Google (malheureusement), mais il faut mettre toutes les chances de son côté.
D’autre part, certains hébergements limitent la bande passante, ou la font payer. Il est donc primordial d’en économiser le maximum.
C’est pourquoi je vous conseille, pour tous vos sites, de mettre en place la compression gzip. Celle-ci va compresser tous vos fichiers statiques avant de les envoyer aux navigateurs.
Pour se faire, rien de plus simple
#Activer le mod_deflate de Apache a2enmod deflate /etc/init.d/apache2 restart
La compression gzip est désormais activée.
On définit ensuite une date d’expiration très lointaine afin que les fichiers soient gardés en cache un certain temps côté navigateur pour économiser encore un peu plus de bande passante.vi /etc/apache2/apache2.conf
Ajoutez les lignes
FileETag None Header unset ETag
Header set Expires "Wed, 30 Nov 2011 00:00:00 GMT" Header unset Last-Modified Header set Cache-Control "public, no-transform" LastModified et ETag sont modifiés car ils peuvent empêcher certains navigateurs de prendre en compte le
e cache de vos fichiers.
Vous pouvez ajouter autant d’extension que vous le souhaitez mais attention, seulement des extensions de fichiers statiques!!! N’allez pas m’y mettre un .php
Tags: accélerer, cache, compression, deflate, gzip, mod_deflate -
octobre 4th, 2010LogicielsVotre navigateur peut être sérieusement ralenti par l’ensemble du cache de Flash. Celui-ci est très gourmand, et certains ralentissements ne sont dûs qu’à Flash.
Pour le vider, rien de plus simple.
umentation/en/flashplayer/help/settings_manager07.html »>Rendez-vous à cette url.
Vous y trouverez dans la petite fenêtre les paramètres de Flash
spécifiques au cache navigateur. Et vous serez probablement impressionnés par la liste de sites en cache.
Cliquez simplement sur
supprimer tous les sites pour vider l’ensemble du cache flash.
Vous pouvez supprimer seulement un site en le sélectionnant dans la liste puis en cliquant sur Suppr. Site Web.
Vous pouvez en profiter pour faire un tour sur les autres onglets des paramètres de Flash
Paramètres globaux de contrôle de l’accès
Paramètres globaux d’enregistrement local
Paramètres globaux de sécurité
Paramètres globaux de notification
Paramètres de lecture protégée
Paramètres de contrôle de l’accès des sites
Paramètres d’enregistrement des sites
Paramètres de mise en réseau coopérative

Sous ce titre se cachent deux problèmes:
- connaître la totalité de mémoire RAM qu’embarque votre serveur
- savoir quelle est la quantité de mémoire RAM disponible sur votre serveur, concrètement monitorer la mémoire du serveur
La commande free
va vous permettre de répondre partiellement aux deux questions.
free
lancé sans argument, la commande retourne un tableau de 6 colonnes et 3 lignes, l’ensemble étant exprimé en kilo-octets.
free
total used free shared buffers cached
Mem: 2045084 1816552 228532 0 43580 391208
-/+ buffers/cache: 1381764 663320
Swap: 1044208 155560 888648
La première ligne, Mem, affiche l’utilisation de la mémoire physique du serveur.
La seconde, -/+ buffers/cache, la portion de la mémoire physique utilisée par le system de buffer/cache
La troisième, préfixée Swap, montre la quantité de mémoire allouée à l’espace d’échange (swap)
Il existe quelques options à la commande free:
Afficher les valeurs en mega-octets
free -m
Afficher les valeurs en octets
free -b
Afficher les valeurs en giga-octets
free -g
Afficher une quatrième ligne contenant les totaux
free -t
total used free shared buffers cached
Mem: 2045084 1890356 154728 0 44280 401032
-/+ buffers/cache: 1445044 600040
Swap: 1044208 155560 888648
Total: 3089292 2045916 1043376
Pour afficher un résultat toutes les 10 secondes
free -s 10
Il existe une alternative
qui affichera une vue plus détaillée de l’état de votre serveur, le fichier /proc/meminfo
cat /proc/meminfo
MemTotal: 2045084 kB
MemFree: 202160 kB
Buffers: 44400 kB
Cached: 403368 kB
SwapCached: 103144 kB
Active: 1265708 kB
Inactive: 361504 kB
SwapTotal: 1044208 kB
SwapFree: 888648 kB
Dirty: 11260 kB
Writeback: 0 kB
AnonPages: 1173428 kB
Mapped: 25636 kB
Slab: 189796 kB
SReclaimable: 167744 kB
SUnreclaim: 22052 kB
PageTables: 10760 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 2066748 kB
Committed_AS: 1929840 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 680 kB
VmallocChunk: 34359737683 kB

Un site internet qui fait 1000 visites par jour sollicite autant de fois votre serveur pour afficher à chaque fois la page d’accueil.
Pour soulager votre serveur, il est judicieux d’utiliser un système de cache, qui va stocker une « image » de vos pag
es à la première visite et servir cette image aux prochains visiteurs.
On évite des requêtes en trop, de la charge processeur, etc… que du bénéfice.
D’après le site php.net
Le « Alternative PHP Cache » (APC) est un cache d’opcode libre et ouvert pour PHP. Son objectif est de fournir un framework libre, ouvert et robuste pour la mise en cache et l’optimisation de code intermédiaire PHP.
(plus d’informations sur le site de php.net http://php.net/manual/fr/book.apc.php)
Il existe également d’autres systèmes de cache beaucoup plus puissants, tels que memcached ou encore varnish. Ils ne jouent pas tous au même niveau, certains font du cache HTTP, d’autres peuvent faire du cache SQL également.
Je vous conseille au préalable de faire un benchmark d’une URL de votre site pour faire un comparatif avant/après et constater que vous êtes extrêmenet satisfait de cet article ô combien utile :p
Vous pouvez effectuer ce benchmark avec http://webwait.com/ par exemple. C’est moins précis qu’un apache bechmark, mais c’est bien plus simple.
Voici donc le moyen de mettre en place APC sur votre serveur Debian
APC est disponible via PECL, outil qui est lui-même fourni par l’ensemble de classes PEAR.
apt-get install php5-dev php-pear
pecl install apc
Il est fort probable que la commande vous pose la question suivante:
Use apxs to set compile flags (if using APC with Apache)? [yes]
Répondez yes si vous utilisez Apache, no sinon
Créez ensuite le fichier
vi /etc/php5/apache2/conf.d/apc.ini
et insérez dans le fichier
extension=apc.so
Maintenant redémarrez votre serveur Apache
/etc/init.d/apache2 restart
Voilà, APC est installé et fonctionne avec votre serveur Apache2 et PHP
Vous pouvez accéder à un ensemble
de statistiques fournies par APC
Pour cela, copiez le fichier de statistiques vers un répertoire accessible par URL (ou plus simplement le DocumentRoot). Puis éditez le fichier pour changer le mot de passe à votre convenance.
cp /usr/share/php/apc.php /chemin/vers/le/document/root/apc.php
vi /chemin/vers/le/document/root/apc.php
il faut modifier les lignes:
defaults('ADMIN_USERNAME','admin');
defaults('ADMIN_PASSWORD','password');
Accédez y par l’url correspondant au DocumentRoot http://url…/apc.php
Et voilà les jolies stats!

