Prestandatest av cache-plugins i WordPress

Test av cache-plugins

Du använder antagligen redan WordPress för din webbplats och känner till hur viktigt det är med webbprestanda. WordPress kan behöva lite hjälp med att prestera bra, och där kommer cache-plugins väl till hands.

Efter prestandatestet av webbhotell som jag gjorde för tre månader sedan kom diskussionen upp om att olika cache-plugins kan prestera olika bra. Jag lovade att göra ett test där jag tar reda på hur stora skillnaderna är och vilket plugin som presterar bäst — den här artikeln innehåller just det testet.

Cache…?

Det är lätt att ta för givet att alla vet vad cache är. Cache (från franskans ”cacher” som betyder ”gömma”) är en kopia av ofta använda data som mellanlagras på ett lättåtkomligt sätt för att snabbt kunna återanvändas i framtiden.

I det här fallet rör det sig om webbsidor som vanligtvis genereras fram för varje besök; WordPress innehåller tusentals rader med kod som körs varje gång någon besöker en sida. Istället för att generera samma sida om och om igen, kan man med cache generera den en gång och spara den för att sedan leverera en färdiggenererad sida. På så vis slipper webbservern jobba lika mycket, vilket i sin tur leder till snabbare webbsidor som kan levereras till flera samtida besökare.

Ibland kan dock cache strula till det — lösningen berättade jag om i en tidigare artikel (första punkten).

Fyra olika cache-plugins

Det finns många plugins som säger sig ska snabba upp WordPress, jag har valt ut fyra av de populäraste för det här testet. Observera att siffrorna gäller i skrivande stund.

WP Super Cache, version 1.4

  • 5,8 miljoner nedladdningar (senaste veckan: 17 000)
  • 4,2 av 5 stjärnor i betyg
  • Cache, komprimering
  • Lite svåra inställningar för den ovane

W3 Total Cache, version 0.9.4

  • 3,6 miljoner nedladdningar (senaste veckan: 23 000)
  • 4,5 av 5 stjärnor i betyg
  • Cache, komprimering, sammanfogning/minifiering av CSS/JS
  • Väldigt svåra inställningar för den ovane

Quick Cache, version 140605.1

  • 704 000 nedladdningar (senaste veckan: 13 000)
  • 4,3 av 5 stjärnor
  • Cache
  • Extremt enkla inställningar

WP Fastest Cache, version 0.8.2.0

  • 103 000 nedladdningar (senaste veckan: 6 000)
  • 4,8 av 5 stjärnor
  • Cache, komprimering, sammanfogning/minifiering av CSS/JS
  • Ganska enkla inställningar

Om testerna

Testerna utfördes den 14 juni med start klockan 21:24, mot en WordPress-installation med WooCommerce och tillhörande 25 testprodukter. Webbplatsen ligger på Loopia’s webbhotell, vars servrar är placerade i Västerås och fick ganska okej resultat i prestandatestet av webbhotell.

Förutsättningarna till testerna av respektive plugin är att inga andra optimeringar görs vid sidan av pluginet, och att pluginet konfigureras för bästa möjliga prestanda utan att webbsidans funktionalitet drabbas.

Ett par specifikationer:

  • WordPress 3.9.1
  • WooCommerce 2.1.11
  • Apache 2.2.6
  • PHP 5.4.21
  • MySQL 5.5.34

Sidladdningstest

Detta test görs från Stockholm (ca 8 mil från webbhotellet). Webbplatsens produktlista laddades in 5 gånger i följd med webbläsarens cache avstängt. Medelvärdena presenterad nedan tillsammans med ett vattenfallsdiagram över medianresultatet för respektive plugin. Jag börjar förstås med ett test utan cache som vi kan använda som referens.

En kontroll mot Bredbandskollen gjordes precis innan testet och visade på 30,39 Mbit/s ner.

Utan cache (originalet)

  • Antal anrop: 30
  • Data överförd: 549 KB
  • Laddningstid: 1,16 sekunder
Vattenfallsdiagram för originalet

Vattenfallsdiagram för originalet

WP Super Cache

  • Antal anrop: 30 (100% av originalet)
  • Data överförd: 549 KB (100% av originalet)
  • Laddningstid: 0,39 sekunder (297% snabbare än originalet)
Vattenfallsdiagram för WP Super Cache

Vattenfallsdiagram för WP Super Cache

W3 Total Cache

  • Antal anrop: 22 st (73% av originalet)
  • Data överförd: 527 KB (96% av originalet)
  • Laddningstid: 0,43 sekunder (270% snabbare än originalet)
  • Observera att Gzip behövde inaktiveras då det fick sidan att krascha
Vattenfallsdiagram för W3 Total Cache

Vattenfallsdiagram för W3 Total Cache

Quick Cache

  • Antal anrop: 30 st (100% av originalet)
  • Data överförd: 549 KB (100% av originalet)
  • Laddningstid: 0,38 sekunder (305% snabbare än originalet)
Vattenfallsdiagram för Quick Cache

Vattenfallsdiagram för Quick Cache

WP Fastest Cache

  • Antal anrop: 29 st (97% av originalet)
  • Data överförd: 300 KB (55% av originalet)
  • Laddningstid: 0,3 sekunder (387% snabbare än originalet)
Vattenfallsdiagram för WP Fastest Cache

Vattenfallsdiagram för WP Fastest Cache

Stresstest

Stresstestet utfördes från Karlstad (ca 17 mil från webbhotellet) och bestod av 1000 anrop i klungor om 10 st som gjordes till webbplatsens produktlista. Resultatet ser du nedan.

Stresstest av cache-plugins

Ser du vilket som presterade bäst? Inte jag heller, därför plockade jag bort testet utan cache från diagrammet för att kunna förstora upp övriga. Se nedan.

Stresstest av cache-plugins utan originalet

Nu blev det genast mycket tydligare. Här ser vi att det är väldigt jämnt, men att det plugin som fick flest anrop med låga responstider var WP Fastest Cache. Det beror högst troligen på att HTML-dokumentet var bättre komprimerat och kunde därför skickas under kortare tid.

Här kommer även några siffror från testet.

Utan cache

  • Anrop per sekund: 7,81 st
  • Tid per anrop: 128 millisekunder

WP Super Cache

  • Anrop per sekund: 110,17 st (1411% fler än originalet)
  • Tid per anrop: 9 millisekunder (7% av originalet)

W3 Total Cache

  • Anrop per sekund: 83,88 st (1074% fler än originalet)
  • Tid per anrop: 12 millisekunder (9% av originalet)

Quick Cache

  • Anrop per sekund: 154,96 st (1984% fler än originalet)
  • Tid per anrop: 6 millisekunder (5% av originalet)

WP Fastest Cache

  • Anrop per sekund: 191,03 st (2446% fler än originalet)
  • Tid per anrop: 5 millisekunder (4% av originalet)

Sammanställda resultat

Eftersom det är laddningstiden och anropen per sekund som är intressantast så sammanställer jag endast dem i nedanstående tabell.

Laddningstid (sek) Anrop/sek
Utan cache 1,16 7,81
WP Super Cache 0,39 110,17
W3 Total Cache 0,43 83,88
Quick Cache 0,38 154,96
WP Fastest Cache 0,30 191,03

Genom att titta på alla siffror i testet kan vi konstatera följande:

  • Det plugin som ger bäst resultat är WP Fastest Cache
  • W3 Total Cache slår ihop filer till minst antal, vilket ger färre anrop
  • Samtliga cache-plugins i testet snabbade upp webbplatsen rejält

Slutord

Vilket cache-plugin du än använder kommer du få en ökad webbprestanda, men WP Fastest Cache överraskade mig med sina mycket fina resultat kombinerat med hur enkelt det var att installera. Observera dock att installera ett av dessa plugin är långt ifrån det enda man kan göra åt en långsam sajt, men det gör en stor skillnad mot att inte cacha alls.

För den som vill läsa ett till test om just WP Super Cache och W3 Total Cache kan jag rekommendera Jonathan Sulos artikel, där andra slags tester gjordes.

Vilken är din favorit bland cache-plugins?

Ivar Johansson

Skriven av

Ivar började med webbutveckling för tio år sedan och har sedan dess utvecklat breda kunskaper inom framför allt webbprestanda, sökmotorer och användarupplevelse. Idag driver han eget företag där han skapar webbplatser som är snabba, säkra och enkla att hantera.

  1. Joakim Abrahamsson

    16 juni, 2014

    HEj, bra artikel, det hade varit intressant o se Google Page speed för varje.

    Min favorit är W3 total cache, då den går att optimera bättre.

  2. Ivar Johansson

    16 juni, 2014

    Tack Joakim! PageSpeed Insights tittar mest på det som jag redan tagit upp i den här artikeln, men visst hade det varit intressant att få en poäng på prestandan för respektive plugin. Tar med mig det till nästa gång!

  3. Jesper Johansson

    26 november, 2014

    Hej,

    Intressant artikel. Dock har jag oavsett cache plugin fått problem med varukorg och såna grejor i just woocommerce. Är det något ni märkt av?

  4. Ivar Johansson

    27 november, 2014

    Hej Jesper!

    Prova att följa de råd WooThemes ger om man upplever problem med WooCommerce och cache-plugin, och se om det hjälper.

    Lycka till!

  5. Robert

    9 januari, 2015

    Hej Ivar,

    Intressant artikel för en som inte pysslat så mycket med detta… Vilka inställningar har du använt? Efter att läst din artikel så installerade jag WP Fastest Cache, det är inte jättemycket inställningar men jag blir rätt osäker då jag inte förstår alla val man kan göra. Tycker du att det räcker att bocka i ”Cache System”?

    Tack på förhand!

    MVH
    Robert

  6. Ivar Johansson

    3 februari, 2015

    Hej Robert!

    Ursäkta sent svar, har haft fullt upp med jobb.

    Jag minns dessvärre inte exakt vilka inställningar jag använde under testet, men i artikeln nämnde jag att pluginet konfigureras för bästa möjliga prestanda utan att webbsidans funktionalitet drabbas.

    ”Cache System” är förstås den viktigaste inställningen, i och med att detta cachar innehållet till statiska filer, vilket gör att servern behöver jobba mycket mindre. Jag skulle dock även åtminstone bocka i ”Browser Caching” och ”Gzip” för att leverera statiska filer snabbare till besökaren.

    Hoppas detta hjälpte dig!

Mejla mig: