[a-h-aide] Augmenter la performances de mes sites web

tranxene50 tranxene50 at developpeur-neurasthenique.fr
Dim 26 Oct 07:30:07 CET 2014


Hello ! :)

> alors je ne sais pas quelles sont les solutions qui s'offrent à moi.

Mmmmmh... Des solutions y'en a un paquet ! ^^

Je pars du principe que tu es un "intégriste" (dans le bon sens du
terme) et que tu souhaites poursuivre dans la (difficile) voie de
l'auto-hébergement.

Au niveau des perfs, avec des ressources limitées, tu seras toujours
confronté à 4 problématiques :

- le CPU (puissance & latence)
- les IOPS (latence & débit)
- la RAM (trop de swap => ralentissement)
- la bande passante (latence (ping) & débit (upload))

Dans un monde idéal, aucun de ces facteurs ne devrait en ralentir un
autre mais ça, c'est dans le pays de Bisounours...

Généralement, avec l'auto-hébergement, le premier facteur à optimiser
est effectivement la bande passante.

Comme l'ont dit Exca, Clément et Quentin, pour soulager ton upload, la
première chose à faire est d'optimiser les images.

Une fois que c'est fait, il faudrait activer la compression "gzip" pour
les fichiers CSS/JS/HTML/PHP/TTF/WOFF/etc. (mais pas les images)

Cela revient à échanger de la bande passante contre du CPU.

Si le CPU est trop faiblard, la compression va ralentir le process et le
temps total pour l'affichage d'une page ne sera pas meilleur, même si le
gain en bande passante est avéré.

Entre alors en scène Varnish, le reverse proxy, comme suggéré par Fred.

Note: je ne connais pas Nginx, parait qu'on peut faire des trucs
vraiment sympa voire carrément "rigolol" avec.

Un reverse proxy ne fonctionne correctement qu'avec des fichiers
statiques (CSS, JS, WOFF, TTF, GIF, JPG, PNG, etc) et à condition que tu
configures le serveur web pour spécifier des délais d'expiration.

En d'autres termes, d'abord déterminer et fixer les "Expires" et
"Cache-Control" pour chaque type d'éléments et ensuite, là c'est la
fête, le reverse proxy stockera en cache (donc en mémoire) les contenus.

Cela revient à échanger du CPU contre de la mémoire.

Si tu es ric-rac au niveau de la RAM, tu risques de "swapper" et, au
final, tes efforts seront vains puisque les disques ralentiront
l'ensemble du système (les IOPS et le débit d'une carte Flash sont très
lents par rapport à la RAM).

Bref, tout ça pour dire que :

1) ta config hardware est "limite" (mais ça devrait le faire)
2) il faudrait connaitre l'utilisation de la RAM (cat /proc/meminfo)
3) la carte Flash plombera les perfs si elle est trop sollicitée
4) ton upload semble bon pour de l'ADSL (75 Ko/s voire plus)

Concernant la redondance, la distribution et la réplication des images
(ou autre), Exca t'as donné plusieurs pistes. ;)

Mais avant d'attaquer ce genre de solutions, il faut s'assurer que
toutes les optimisations "locales" ont été faites.

Sinon, dans la série des trucs-sympas-mais-faut-voir :

- tu peux louer un petit serveur dédié avec 100 Mbit/s qui fera le
frontal avec Varnish (ce n'est plus vraiment de l'auto-hébergement)

- Tu peux louer une seconde ligne ADSL et faire du load-balancing.

- Tu peux combiner les deux... ^^

Nan, plus sérieusement : il faudrait pouvoir identifier les points
faibles et/ou bloquants du BeagleBone afin de savoir ce qu'il est
possible d'optimiser.

A+

-- 
tranxene50
tranxene50 at developpeur-neurasthenique.fr


More information about the auto-hebergement-aide mailing list