Feberredning af din webshops performance inden black friday

Black friday har tendens til at vælte webshops, hvor en stor mængde trafik rammer på samme tid. Læs her, hvordan du - måske! - kan lave en feberredning af performance.

Af Kristian Just Iversen

01. NOV 2020

Black friday har tendens til at vælte webshops, hvor en stor mængde trafik rammer på samme tid.

En ‘rigtig’ optimering af din webshop med autoskalering m.v. kræver god planlægning og tid.

Her er derimod et par råd til, hvad du kan gøre, hvis black friday nærmer sig, og du vil fjerne den værste nervøsitet med nogle alternative metoder.

1. Kør en simpel loadtest

Med en simpel loadtest lærer du din webshops trafikgrænser at kende inden de rigtige brugere stormer din side.

På denne måde kan du forberede dig ved at sammenligne med besøgstal fra sidste år, du har mulighed for at brede din annonceindsats udover længere tid og har bare bedre mulighed for at forberede dig.

Kan din PHP webshop klare 200 samtidige brugere? Okay, måske nyhedsbrevet skal sendes i tre batches i stedet for et, eller dine tilbud skal spredes over flere dage.

Er der nogle varer, som har særlig tendens til at overstige dit maksimale besøgsantal? Tag forskud på glæderne og tilbyd gode rabatter på disse allerede inden black friday. Begrebet black week er til for det samme, da det giver den øgede omsætning under mere almindelige omstændigheder ift. trafikken.

Loadtest kan køres igennem eksempelvis https://loader.io, https://k6.io, lokalt med Apache Bench eller JMeter.

2. Log langsomme forespørgsler

Både databasen og din webservers access log kan give værdifuld information omkring, hvilke dele af dit PHP projekt, der burde få noget akut kærlighed inden black friday.

Er der en bestemt forespørgsel til databasen, der trækker performance på hele siden ned, så vil dette kunne afsløres igennem en såkaldt ‘slow query log’. Den er nem at slå til, nem at analysere og giver resultater, der er nemme at handle på.

En webservers access log kan give et praj om, om der er andre generelle ting galt på din webshop end specifikke databaseforespørgsler.

Hot tip - aktiver logning inden der køres loadtest, for at afsløre, om mange samtidige forespørgsler skaber uventede flaskehalse, der ikke ses under normale trafikforhold.

3. Aktiver simpel caching

En grundig implementering af caching i din PHP-backend vil tage tid og kræver grundig test.

Et hurtigere alternativ er at lægge siden bag CloudFlare cache (der er andre muligheder, men CloudFlare er mest populær). CloudFlare kan aktiveres på siden på et par timer og tilbyder caching af sider.

Dvs. produktsider for populære produkter kan serveres af CloudFlare i stedet for af din webserver, ligesom det også er muligt at cache din forside eller andre indgangssider fra marketing.

Dette kan hjælpe til at afløfte en stor del af trafikken fra din server ved kun at koncentrere caching omkring enkelte sider.

Manuel udvælgning af sider, der skal caches, er naturligvis ikke holdbar på sigt, men hvis black friday presser sig på, kan det være en her-og-nu løsning for dig.

4. Gør dig klar til næste år

Den bedste løsning er at tage sig tid til at optimere ens løsning. Hvis du kun har 1 måned tilbage til black friday, er det måske slet ikke tids nok - så hellere bruge tiden på at planlægge optimering, inden næste års trafik-højtid.

Optimering kan ske på forskellige måder, men mest oplagt er offloading af mediefiler til et Content Delivery Service, der er specialiseret i at levere den slags til mange brugere, nedbringe tunge (database) forespørgsler, opgradere server, implementere autoskalering, aktivere dynamisk caching af sider el.lign.

Hvilken der er den rigtige optimeringsmetode afhænger af projektets type, sidens indhold og dine brugeres adfærd.