WordPress sur Apache (Athlon XP+Nforce2) VS Nginx/Vernish/WP Total Cache (Raspberry 256MB) sur ADSL

Bonjour,

Aujourd’hui je vous propose la comparaison des solutions d’hébergement de ce même site.

Préface:

Jusqu’à présent, ce site était hébergé sur un Athlon XP avec une carte mère NForce 2, un disque dur lamba (Seagate 80GB IDE). Le tout sur une connexion ADSL (1Mb/s en upload donc, rien de transcendant). Au fil du temps, j’ai voulu passer sur quelque chose plus « dans l’air du temps », j’ai donc eu l’idée de le passer sur un Raspberry.

But de la manip :

Gagner en consommation. En effet, mon serveur actuel, bien qu’optimisé, consomme dans les 40-50 Watts en permanence, je voulais passer sur quelque chose de plus léger.

Démarche:

J’ai pu acheter un des premiers Raspberry sortis (version 256MB), pendant assez longtemps il a simplement « dormi » dans un placard, jusqu’à ce que je lui trouve une gentille micro SD de 32GB il y a 1mois. J’ai pu ainsi commencer à expérimenter sous Raspbian.

Après pas mal de discussions avec un autre membre de ma promotion (Salem Harrache), il m’a convaincu de lâcher ce bon gros vieux Apache et de migrer tout mon blog WordPress vers un serveur web plus léger, Nginx. Le Raspberry semblait donc l’équipement rêvé pour cette manip !

En effet, il me permet de gagner un facteur 40 à 50 au minimum sur la consommation, et d’après mes espérances, pour la même qualité de service au maximum.

J’ai donc utilisé l’ISO de base de Raspbian, suivi les différents tutoriaux d’installation de Nginx et modules WordPress (ici ou ). Pour l’installation de phpmyadmin, j’ai commencé à suivre ce tutorial, mais abdiqué et simplement créé un lien symbolique dans le répertoire de base de Nginx vers /usr/share/phpmyadmin.

Pour migrer mon installation WordPress, j’ai tout d’abord créé un dossier contenant le futur site & placé au sein de celui ci un petit fichier php de test. Il faut faire attention au fichier de conf de php5-fpm, j’ai du changer le paramètre listen pour du 127.0.0.1:XXXX pour que mes sites à base de php marchent.

Une fois mon virtual host configuré correctement (vous pouvez vous inspirer de cette conf), j’ai simplement: Exporté ma base actuelle, importer la base au sein du nouveau serveur, et fait une belle copie de mon ancien WordPress vers son nouvel emplacement. Et voila ! Enfin, presque…

Une fois les bugs résolus à coup de Google, j’ai mon site fonctionnel, j’ai ensuite installé Varmish et W3 Total Cache (ou ici) pour optimiser à fond le petit Raspberry qui je l’avoue a tendance à ramer. Faites bien attention à la taille des caches en ram, vu que le Raspberry a 256 ou 512 de mémoire ram, inutile d’être trop gourmand, car sinon ce dernier va swapper.

Si vous avez activé un swap quelconque, ce dernier ce doit d’etre sur un disque dur physique, autrement la carte sd sera morte en peut de temps du fait du nombre de cycles réduit d’écritures de ce genre de composants. Pour vous en assurez, faites la commande “free” sous le terminal, la ligne concernant le swap doit etre égale à 0 dans les 3 colonnes. Différents tutoriels existent pour enlever le swap, google est votre ami, le seul but est qu’après un reboot, le swap soit toujours inactif.

Pour optimiser le tout, pensez à réduire la taille alloué à la mémoire video, puisque, de toute façon, vous y accédez en SSH ;) (ajoutez une ligne gpu_mem=16 dans le /boot/config.txt).

Et voila, le site tourne au poil.

Notice

Inconvénient : On dirait que la microSD est vraiment trop lente, bien qu’étant une classe 10, pour supporter le site correctement, en effet, les transfert sont très lents (petits fichiers powa). Je vous conseille donc de prendre une carte SD qui assure vraiment pour la copie de petits fichiers, ou au mieux, brancher un bon vieux DD 2,5″ avec un automount

Résultats:

Voici la partie la plus intéressante, alors tout d’abord, le test de charge avec l’ancienne installation sous Apache est disponible ici. Le nombre de requêtes total est de 2075. Chose intéressante, mon serveur Apache, a complétement planté à la fin du test, la machine était simplement inaccessible.

Après, la configuration de base avec Nginx, sans optimisation, sur le Raspberry, m’a donné un total de 1681 requêtes.

Et le résultat final, après optimisation, me donne un total de 3584 requêtes traitées durant le test.

Bon, héberger un serveur par derrière une ligne ADSL, c’est pas la panacée, mais avec pas mal d’optimisations, le Raspberry s’en sort plutôt bien pour un casual server (le mien a environ 35 visites par jour, on est loin des 50 par secondes…). Vermish fait très bien son boulot et permet de plutôt bien résister à la charge (deux plus plus performant en moyenne…

comments powered by Disqus