[a-h-aide] Augmenter la performances de mes sites web
Bonjour à tous, Heureux internaute auto-hébergé depuis plus de six mois, notamment grâce à vous ^^, je cherche quelques astuces pour aller plus loin, par exemple augmenter la performance de mes sites web… (dont voici la liste : http://flqt.fr/) Voici ma config actuelle : - Accès à Internet : Box SFR, - Ordinateur serveur : BeagleBone Black, - Distribution du Système GNU/Linux : Archlinux ARM, - Serveur HTTP : Nginx, - Nom de domaine chez Gandi.net, - « Parade » contre l'IP flottante : gandyn (https://aur.archlinux.org/packages/gandyn-git) Je pense à la coopération, à l'export des images de mes sites sur un hébergement tiers… mais j'ai peu d'expérience dans ce domaine alors je ne sais pas quelles sont les solutions qui s'offrent à moi. Pourriez-vous me recommander quelques liens que j'aurai pu louper ? ^^ Merci à tous ! ^^ -- Nicolas Floquet | www.pharmanerd.flqt.fr | www.logibaba.flqt.fr | wiki.librehealthcare.flqt.fr | 5, impasse du bois 61450 La Ferrière-aux-Étangs, Normandie, France | 06 32 93 03 51 | Mail rédigé et signé avec des logiciels libres (Parabola GNU/Linux, Emacs et GPG)
Afficher les réponses par date
Le 25/10/2014 09:45, Nicolas Floquet a écrit :
Bonjour à tous,
Heureux internaute auto-hébergé depuis plus de six mois, notamment grâce à vous ^^, je cherche quelques astuces pour aller plus loin, par exemple augmenter la performance de mes sites web... (dont voici la liste : http://flqt.fr/)
Voici ma config actuelle :
- Accès à Internet : Box SFR,
- Ordinateur serveur : BeagleBone Black,
- Distribution du Système GNU/Linux : Archlinux ARM,
- Serveur HTTP : Nginx,
- Nom de domaine chez Gandi.net,
- « Parade » contre l'IP flottante : gandyn (https://aur.archlinux.org/packages/gandyn-git)
Je pense à la coopération, à l'export des images de mes sites sur un hébergement tiers... mais j'ai peu d'expérience dans ce domaine alors je ne sais pas quelles sont les solutions qui s'offrent à moi.
Pourriez-vous me recommander quelques liens que j'aurai pu louper ? ^^
Merci à tous ! ^^
_______________________________________________ auto-hebergement-aide mailing list auto-hebergement-aide@listes.auto-hebergement.fr http://listes.auto-hebergement.fr/listinfo/auto-hebergement-aide Bonjour,
Je viens de jeter un oeil rapide, tu dois avoir un bon débit montant (tu es dégroupé?) car tes sites ont l'air bien réactifs. Bien sûr tout dépend du nombre de visiteurs simultanés :) Voir peut-être un outil comme varnish, pour optimiser le cache (faire en sorte qu'un max de données statiques, images lourdes, etc... restent stockées sur les navigateurs clients) Bon courage
Olá, - Varnish, pour optimiser la mise en cache sur ton serveur (je n'ai jamais testé, d'autres sauront t'en parler mieux que moi); - des outils comme Yslow et Page Speed, pour diminuer la quantité de données en gardant le même résultat (pas mal de choses parfois très simples à mettre en place: compression des images, déclaration du temps de maintien en cache pour le client, diminution du nombre de fichiers chargés avec la page, etc.); - DNS Round-Robin (là, on est sur le point que tu aborde: hébergement tiers) que tu peux utiliser dans ton cas pour envoyer du contenu statique (images, feuilles de style CSS, pages HTML non dynamiques) à partir de plusieurs serveurs. Ce n'est pas parfait, l'idéal étant le Load-Balancing, mais beaucoup moins facile à mettre en place. Pour le DNS Round-Robin, l'idée est de déclarer que toutes tes images sont sur un sous-domaine. Dans la pratique ce sous-domaine va correspondre à 2 IP ou plus, que l'on va synchroniser avec le même contenu. Pour que le système fonctionne bien, on fait le Round-Robin au niveau de la déclaration NS du sous-domaine: On va déclarer que le NS du sous-domaine à 2 IP ou plus. Chaque serveur devra donc avoir son propre serveur DNS pour dire que c'est lui-même, et lui seul, le sous-domaine (ainsi, si un des serveurs n'est pas dispo, aucune chance de tomber sur lui). Deux clients qui se connecteront en même temps tomberont alors chacun sur une IP différente. Ça n'augmentera pas la rapidité de chargement du contenu, mais ça évitera de la diminuer si tu as de nombreux clients au même moment. Si la rapidité du chargement du contenu est vraiment un handicap, tu déclare le sous-domaine sur un serveur qui a un un excellent débit en upload, ou sur une machine que tu loue dans un data center, mais là on s'éloigne de l'auto-hébergement... Enjoy, --- -- Exca -- http://www.sychlora.com Le 2014-10-25 06:50, Fred a écrit :
Le 25/10/2014 09:45, Nicolas Floquet a écrit :
Bonjour à tous,
Heureux internaute auto-hébergé depuis plus de six mois, notamment grâce à vous ^^, je cherche quelques astuces pour aller plus loin, par exemple augmenter la performance de mes sites web… (dont voici la liste : http://flqt.fr/)
Voici ma config actuelle :
- Accès à Internet : Box SFR,
- Ordinateur serveur : BeagleBone Black,
- Distribution du Système GNU/Linux : Archlinux ARM,
- Serveur HTTP : Nginx,
- Nom de domaine chez Gandi.net,
- « Parade » contre l'IP flottante : gandyn (https://aur.archlinux.org/packages/gandyn-git)
Je pense à la coopération, à l'export des images de mes sites sur un hébergement tiers… mais j'ai peu d'expérience dans ce domaine alors je ne sais pas quelles sont les solutions qui s'offrent à moi.
Pourriez-vous me recommander quelques liens que j'aurai pu louper ? ^^
Merci à tous ! ^^
_______________________________________________ auto-hebergement-aide mailing list auto-hebergement-aide@listes.auto-hebergement.fr http://listes.auto-hebergement.fr/listinfo/auto-hebergement-aide Bonjour,
Je viens de jeter un oeil rapide, tu dois avoir un bon débit montant (tu es dégroupé?) car tes sites ont l'air bien réactifs. Bien sûr tout dépend du nombre de visiteurs simultanés :)
Voir peut-être un outil comme varnish, pour optimiser le cache (faire en sorte qu'un max de données statiques, images lourdes, etc... restent stockées sur les navigateurs clients)
Bon courage
Salut, Je suis d’accord avec Exca : tester, tester, et tester. Tu peux voir une liste des tests que j’emploie à https://lacl.fr/~caubert/notes/outils.html#tests Le test gtmetrix te donnera des premiers conseils simples à mettre en place, et qui amélioreront considérablement tes pages (cf. http://gtmetrix.com/reports/www.pharmanerd.flqt.fr/ajzrIIKh ) Tu devrais mettre en place, notamment, la compression gzip de certaines ressources. Tu peux t’inspirer de ce tutoriel notamment : http://lehollandaisvolant.net/tuto/pagespd/ Mettre tes images sur un autre serveur me paraît un gros travail peu utile pour le moment, mais je me trompe peut-être. Et bravo pour ta thèse ! Ciao, Clément. Le 25 octobre 2014 13:43, Exca Flounty <exca@sychlora.com> a écrit :
Olá,
- Varnish, pour optimiser la mise en cache sur ton serveur (je n'ai jamais testé, d'autres sauront t'en parler mieux que moi);
- des outils comme Yslow et Page Speed, pour diminuer la quantité de données en gardant le même résultat (pas mal de choses parfois très simples à mettre en place: compression des images, déclaration du temps de maintien en cache pour le client, diminution du nombre de fichiers chargés avec la page, etc.);
- DNS Round-Robin (là, on est sur le point que tu aborde: hébergement tiers) que tu peux utiliser dans ton cas pour envoyer du contenu statique (images, feuilles de style CSS, pages HTML non dynamiques) à partir de plusieurs serveurs. Ce n'est pas parfait, l'idéal étant le Load-Balancing, mais beaucoup moins facile à mettre en place.
Pour le DNS Round-Robin, l'idée est de déclarer que toutes tes images sont sur un sous-domaine. Dans la pratique ce sous-domaine va correspondre à 2 IP ou plus, que l'on va synchroniser avec le même contenu. Pour que le système fonctionne bien, on fait le Round-Robin au niveau de la déclaration NS du sous-domaine: On va déclarer que le NS du sous-domaine à 2 IP ou plus. Chaque serveur devra donc avoir son propre serveur DNS pour dire que c'est lui-même, et lui seul, le sous-domaine (ainsi, si un des serveurs n'est pas dispo, aucune chance de tomber sur lui). Deux clients qui se connecteront en même temps tomberont alors chacun sur une IP différente. Ça n'augmentera pas la rapidité de chargement du contenu, mais ça évitera de la diminuer si tu as de nombreux clients au même moment. Si la rapidité du chargement du contenu est vraiment un handicap, tu déclare le sous-domaine sur un serveur qui a un un excellent débit en upload, ou sur une machine que tu loue dans un data center, mais là on s'éloigne de l'auto-hébergement...
Enjoy,
--- -- Exca -- http://www.sychlora.com
Le 2014-10-25 06:50, Fred a écrit :
Le 25/10/2014 09:45, Nicolas Floquet a écrit :
Bonjour à tous,
Heureux internaute auto-hébergé depuis plus de six mois, notamment grâce à vous ^^, je cherche quelques astuces pour aller plus loin, par exemple augmenter la performance de mes sites web… (dont voici la liste : http://flqt.fr/)
Voici ma config actuelle :
- Accès à Internet : Box SFR,
- Ordinateur serveur : BeagleBone Black,
- Distribution du Système GNU/Linux : Archlinux ARM,
- Serveur HTTP : Nginx,
- Nom de domaine chez Gandi.net,
- « Parade » contre l'IP flottante : gandyn (https://aur.archlinux.org/packages/gandyn-git)
Je pense à la coopération, à l'export des images de mes sites sur un hébergement tiers… mais j'ai peu d'expérience dans ce domaine alors je ne sais pas quelles sont les solutions qui s'offrent à moi.
Pourriez-vous me recommander quelques liens que j'aurai pu louper ? ^^
Merci à tous ! ^^
_______________________________________________ auto-hebergement-aide mailing list auto-hebergement-aide@listes.auto-hebergement.fr http://listes.auto-hebergement.fr/listinfo/auto-hebergement-aide
Bonjour,
Je viens de jeter un oeil rapide, tu dois avoir un bon débit montant (tu es dégroupé?) car tes sites ont l'air bien réactifs. Bien sûr tout dépend du nombre de visiteurs simultanés :)
Voir peut-être un outil comme varnish, pour optimiser le cache (faire en sorte qu'un max de données statiques, images lourdes, etc... restent stockées sur les navigateurs clients)
Bon courage
_______________________________________________ auto-hebergement-aide mailing list auto-hebergement-aide@listes.auto-hebergement.fr http://listes.auto-hebergement.fr/listinfo/auto-hebergement-aide
Salut, les sites web se chargent plutôt rapidement, même avec ma connexion en carton ^^. Cependant, niveau optimisation, ce n'est pas tip-top. Voici quelques exemples: Les images ne sont pas très optimisées. Par exemple, cette image: http://www.pharmanerd.flqt.fr/img/privacy-free-software-sign.png Si on réduit sa taille à 100px de largeur (la taille de l'image sur le site web), et si on utilise le logiciel optipng pour optimiser (sans perte) l'image, on passe de 352K à... 16K! Ensuite, le code source n'est pas optimisé (oui, ça en fait des « optimis[*] » ^^). En production, et sur de l'auto-hébergement, il faut prendre l'habitude de « minifier » ses pages et fichiers CSS (c'est-à-dire réduire la taille des fichiers en supprimant les retours à la ligne et les commentaires). J'ai écrit un article complet sur l'optimisation de son site web, si ça t'intéresse : http://www.quent1.fr/2011/09/optimiser-son-site-web-de-a-z/ Quentin
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@developpeur-neurasthenique.fr
participants (6)
-
Exca Flounty -
Fred -
Nicolas Floquet -
Quentin Bouteiller -
Retourné du Japon -
tranxene50