Peut-on faire un site auto-hébergé rapide ?

- Auto-hébergement

La réponse est bien évidement OUI, sinon cet article n'aurai pas lieu d'exister. Mais c'est une question que toute personne intéressée par l'auto-hébergement peux se poser avant de se lancer parce qu'il y a tout de même des paramètres qui entrent en compte et sur lesquels on ne peut pas influer. Le meilleur exemple étant la connection dont on dispose à son domicile.
Mais cela n'empêche pas de faire un site auto-hébergé rapide…

Introduction

Les données qui sont utilisées pour rédiger cet article ont été générés avant, pendant et après mon déménagement, afin de comparer les performances de la SheevaBoite en auto-hébergement et sur un serveur dédié. Pour commencer, voici un bête comparatif de performances entre les deux serveurs qui ont hébergés la SheevaBoite :

SheevaBoiteServeur dédié
Processeur1,2 GHz ARMv51.6 GHz VIA
RAM512 Mo2048 Mo
Download~200 ko/s~6 Mo/s
Upload~100 ko/s~2 Mo/s
Ping~35 ms~12 ms

Je tiens à préciser que mon débit descendant est bien supérieur à 200 ko/s, cette mesure a été prise avec la télévision en fonctionnement, ce qui est le cas la majorité du temps. Lorsque la télé est éteinte mon débit descendant frôle le 1 Mo/s.

On voit très clairement que au niveau des performances "pures", la SheevaBoite est clairement à la ramasse par rapport au serveur dédié. Mais sans maîtrise, la puissance n'est rien…

Analyse des performances web

Avant de déménager, j'ai mis en place un petit monitoring sur la homepage avec l'excellent outil GTMetrix qui m'a permis d'automatiser des tests quotidiens sur le chargement de la SheevaBoite dont voici le graphique qui résume les 3 mois qui ont été nécessaire pour le déménagement :

Mesures des performances de chargement de la SheevaBoite
Graphique des performances de chargement de la SheevaBoite

Il y a deux marqueurs rouges présents sur l'image, ils représentent les deux jours ou la SheevaBoite a été migrée d'un environnement à un autre.
On voit donc que les performances de chargement de la page se sont améliorées lors du passage sur le serveur dédié avec une diminution du temps de chargement d'environ 300 ms. Et on remarque le contraire lorsque la SheevaBoite est repassée en mode auto-hébergement, augmentation du chargement de la page d'environ 300 ms.

Bon c'est le comportement auquel je m'attendais et qui est totalement normal. Il faut tout de même noter que le delta est important puisque cela représente environ une augmentation de 30% du temps de chargement entre les deux serveurs.
Mais au final afficher une page en moins de 1,5 secondes est une performance tout à fait correcte de nos jours, surtout si l'on est un visiteur du Canada (les serveur de monitoring sont situés à Vancouver)... Et cela est encore plus correct lorsque l'on sait que le site est hébergé chez soi.

Mais cela demande tout de même quelques petits efforts, car comme vous l'avez remarqué la SheevaBoite n'est pas une bête de performances...

Quelques conseils pour un site auto-hébergé rapide…

Voici quelques conseils qui valent ce qu'ils valent mais qui prennent encore plus de valeur lorsque l'on parle dauto-hébergement, ils permettent d'optimiser le temps de chargement :

  1. Une home légère,
    C'est une bonne pratique du développement web, mais ce principe est encore plus vrai pour un site auto héberge car c'est la page la plus chargée. Si elle n'est pas optimisée, elle pourrait même faire tomber votre petit serveur
  2. Un CMS adapté,
    Si votre serveur n'est pas très puissant, ne gaspiller pas de la puissance à vouloir faire tourner un Drupal ou un WordPress. J'ai fait le choix de PluXml qui utilise directement des fichiers XML en lieu et place d'une base de données pour sa légèreté et sa rapidité à générer les pages.
  3. Utiliser peu d'images,
    Les images sont le nerf de la guerre de la bande passante. Il faut donc les éviter dans la mesure du possible, dans votre thème, dans vos articles. Attention, il ne faut pas les proscrire mais les utiliser à bon escient et surtout les optimiser
  4. Optimisations web O-B-L-I-G-A-T-O-I-R-E,
    Concaténation, minification des ressources avant la mise en prod est une étape obligatoire
  5. Utilisez un serveur web performant,
    Aujourd'hui le meilleur choix est nginx qui est beaucoup plus rapide qu'Apache en performance pure. Si vous n'utilisez pas des fonctions spécifiques d'Apache pourquoi ne pas passer à nginx ?

La liste n'est pas exhaustive, ce sont juste les bonnes pratiques qui me sont directement venues à l'esprit lorsque je pensais à de l'auto-hébergement avec un plug-computer…

Conclusion

Vous devez vous en rendre compte en navigant sur la SheevaBoite, faire un site auto-hébergé rapide avec un plug-computer est possible, la SheevaBoite en est l'exemple. Comme je l'ai dit dans l'article cela nécessite de faire quelques petits efforts afin d'alléger le travail du serveur mais ce n'est pas irréalisable...