Archives pour l'étiquette nginx

Closermag, Nabilla et cache http

Le vendredi 7 novembre 2014 du fait de l’actualité people autour de la starlette Nabilla la plateforme hébergent le site Closermag.fr que j’administre enregistre +63% de requête supplémentaire. Je parle bien de requête http et non pas de visiteur unique qui est une donnée commercial qui ne représente en rien l’effort de production. Quand au page vue … elles sont constituées de plusieurs requête http d’un nombre variable, donc je n’utilise pas non plus cette mesure.

Il en ressort que le cache http est correctement configuré couplé avec l’utilisation de varnish  est une solution puissante pour absorber les pics d’audiences

Le challenge est la gestion des images. La photo à une part importante dans la mise en page et la ligne éditorial de closermag.fr . En conséquence les images sont nombreuses et de taille importantes. Différent choix ont été fait :

  • Isoler leur distribution dans un silo dédié basé sur varnish en frontend et nginx en backend. Le varnish bien que disposant d’un cache mémoire important de 8Go ne peux contenir l’intégralité des images, en conséquence avec nginx nous assurons son alimentation de façon performante.
  •  Les images de design du site on une durée de validité pour mise en cache d’une journée et celle d’illustration d’une année. Nginx ajoute des entêtes d’instruction du cache http.
  • Nous avons en outre fait le choix d’utiliser de multiple sous domaine afin de paralléliser les appels au maximum et de contourner les limites de certains navigateurs
  • Les images sont traitées afin d’en limiter le poids par la suppression des données Exif . Dans le processus d’alimentation en photos de Closermag l’utilisation de nombreux logiciel avait tendance à hypertrophier le volume de ces données.

Le 7 novembre 2014 un unique serveur varnish a assuré :

  • Un taux de réponse de 95% avec son cache, donc seul 5% des requêtes on du être demandé au backend ngnix.
  • Le pic de bande passante  de 149,91 Mb/s.
  • La réponse à une moyenne de 2660 req/s

WordPress et bbclone

BBCLONE est un outil de statistique web, un compteur mais en mieux.

Pour son intégration dans WordPress c’est ultra simple. Si votre répertoire bbclone est au même niveau que votre page index.php de wordpress ajoutez les quatres lignes suivantes juste avant le ?> final

define('_BBC_PAGE_NAME', $_SERVER['REQUEST_URI']);
define('_BBCLONE_DIR', 'bbclone/');
define('COUNTER', _BBCLONE_DIR . 'mark_page.php');
if (is_readable(COUNTER)) include_once(COUNTER);

Ceci fonctionne parfaitement avec mon installation à base de nginx. Le note ici car j’en ai un peu marre de perdre ce bout de code à chaque mise à jour de wordpress