Le 05/04/2017 à 16:15, Jonathan Leroy a écrit :
Le 5 avril 2017 à 15:00, Julien Escario escario@azylog.net a écrit :
Bonjour,
Salut,
Un de nos clients va 'passer à la télé'. Aujourd'hui, il a une petite boutique basée sur Prestashop.
Son infra actuelle n'est évidemment pas du tout adaptée à la masse de trafic qu'il se prendre sur la tronche lundi soir (oui, oui, le 10/04).
Bienvenue au club des gens dont les clients leur annonce au détour d'une conversation qu'ils passent à la TV dans moins d'une semaine :D
Ah ben pour le coup, non ! Ils m'ont prévenu environ un mois avant, c'est correct. Le truc c'est qu'ils veulent les soussous des visites mais pas l'infra qui permet de le faire. Et ça, c'est maintenant ;-)
Chuis pas chiant en plus, j'offre l'infra (des hyperviseurs qui ne foutent rien, on en a 2/3 et le challenge est sympa).
Au delà des milles et une petites optimisation possibles pour prestashop, je cherche une solution type CDN qui permette d'encaisser la charge.
Alors, j'ai vécu ça avec plusieurs clients. Si le site n'est pas optimisé, y'a pas de magie : va falloir cacher à mort. Surtout que, AFAIK, PrestaShop n'aime pas Varnish.
Pour un client qui est passé sur Capital, j'ai appliqué la méthode A Little Market dont le lien a été posté précédemment : on passe le site en read-only, on configure Varnish pour virer les cookies et tout cacher. Vraiment tout.
Si un client fait une action qui demande du "write" (ajout panier, login...), on affiche une jolie landing page disant "Désolé, trop de connexions, veuillez nous laisser votre email si vous souhaitez être recontacté quand le site ira mieux".
Mouarf, c'est pas mal ça. Ca prend 15 minutes de conf et basta ;-) On le fait pour un autre client mais son site ne pause aucune difficulté à être totalement statique.
Un bon cache TOTAL avec TTL à 1h, fini. J'aurais aimé leur proposer mieux mais si ils ne veulent pas de débloquer de budget là dessus, ça va finir comme ça, oui.
Résultat, le site n'a pas planté et on a récolté pleins d'emails qu'on a répartis sur plusieurs mailings dans les jours suivants.
Sinon tu peux toujours essayer d'ajouter X serveurs en backend pour garder le site pleinement fonctionnel, mais franchement c'est risqué.
Le challenge est sympa ;-) Il faut juste prévoir la page de maintenance 'au cas où' (c)2017.
X étant un entier compris entre 2 et 500 en gros. Facile.
Plus sérieusement, le Mariadb va mourir avant de toute façon et on a pas le temps pour faire du master/slave avec modif de prestashop pour différencier les lectures des écritures.
Julien