|
|
|
|
TUTORIEL PHP |
|
|
|
Optimiser vos applications PHP |
La popularité grandissante du Web met une pression croissante sur les logiciels et le matériel utilisé pour les applications. Cet article va vous donner les tuyaux pour réduire la charge de vos serveurs, et augmenter la capacité de vos applications sans avoir à vous ruiner en mises à jour matérielles.
(30/03/2004) |
|
(fourni
par )
Cache
en mémoire
Indépendamment de l'utilisation d'un cache, la plupart des scripts
font un bon nombre d'appel au système d'exploitation. Ces appels
représentent un goulet de ralentissement, car même si le processeur
et la mémoire des serveurs augmentent en vitesse, les disques
durs restent lent. Cela ne prend pas longtemps pour atteindre
la vitesse maximale de lecture ou d'écriture, qui se situe vers
une douzaine de Mo par seconde.
Pour gagner encore en vitesse, il faut éliminer toutes les opérations
liées au système de fichier. Même si cela semble une tâche impossible,
une invention merveilleuse appelée ramdisk' permet d'y accéder
sans effort particulier. Un ramdisk, ou disque de mémoire, est
un émulateur de disque dur en mémoire : pour un programme comme
PHP, ce n'est rien qu'une autre partition de disque. Mais en
fait, les données écrites sur le disque de mémoire sont écrites
en mémoire vive, et les vitesses de transfert se chiffrent en
centaines de Mo par seconde.
Presque tous les systèmes d'exploitation disposent de disques
de mémoire, mais Linux va encore plus loin en liant ces disques
avec un disque physique. Cela signifie qu'en obtenant les avantages
de la vitesse de la mémoire, vous ne risquez pas pour autant
de perdre toutes vos données lors du prochain crash système
ou d'un redémarrage inopiné, car le noyau va synchroniser automatiquement
les données sur le disque. Incidemment, il est très facile d'activer
cette fonctionnalité : tout ce dont vous avez besoin est d'un
accès root et de quelques minutes :
mount --bind -ttmpfs /tmp /tmp
mount --bind -ttmpfs /home/webroot
/home/webroot
L'exemple ci-dessus place deux dossiers couramment utilisés,
le dossier temporaire et la racine web dans le disque de mémoire.
Au bout du compte, toutes les opérations classiques sur le disque
par PHP sont accélérées grâce à la réduction du temps d'administration.
En même temps, la fiabilité du système n'est pas sacrifiée sur
l'autel de la performance, et cette solution est idéale même
pour les sites exigeants. Le seul inconvénient de cette solution
est que le disque de mémoire utilise votre mémoire vive, et
donc, si les dossiers sont trop gros, ils vont consommer toute
la mémoire disponible. Il est donc recommandé d'utiliser cette
solution avec prudence : assurez vous que les dossiers en mémoire
ne consommeront pas toute votre mémoire, car le système va alors
passer sur le disque, en SWAP, ce qui le ralentira fortement.
Et sans les mains !
Comme vous pouvez l'avoir compris à ce point de l'article, il
y a de nombreux moyens pour accélérer les applications PHP sans
avoir à toucher à une seule ligne de code : pas de risque d'introduire
un bug mortel.
Notez aussi que la plupart des solutions ne demandent pas beaucoup
de temps de mise en place, et conduisent à des accélérations
impressionnantes.
Cela ne doit pas vous amener à abandonner les bonnes pratiques
d'optimisation du code, ce qui est, bien sur, un outil primordial
pour accélérer vos applications. Mais lorsque le temps presse
et que la pression monte, il est souvent pratique de connaître
quelques trucs efficaces pour accélérer le code, sans y toucher.
|
|
|
|
|
|