Att optimera WordPress med Memcached och wp-ffpc

Tänk dig att du har suttit och byggt din hemsida i WordPress, du har fått med alla sidor, kontaktformulär, bilder och plugins som du behöver för att skapa en säljande och informativ sida för ditt företag.
Nu skall du öppna upp och lansera sidan för dina besökare men upptäcker att det tar flera sekunder innan startsidan laddas i din webbläsare. Hur länge väntar du själv på att en sida skall laddas innan du går vidare till nästa hemsida som laddas fort?

Vi går här igenom hur du via webbläsaren och kontrollpanelen hos oss optimerar din WordPress genom att använda dig av Memcached som ingår i samtliga webbhotellkonton hos oss.

Hur mäter vi?

I våra mätningar använder vi oss i första hand av Google Chrome DevTools som ingår i Google Chrome. Vi vill optimera så att laddningen av sidans dokument går så snabbt som möjligt, gärna under 100 millisekunder om man sitter på en snabb uppkoppling. Vi stänger av webbläsarens cache genom att klicka i Disable Cache i DevTools.
optimerad-wordpress-med-memcached-wp-ffpc-1

DevTools aktiveras genom att högerklicka någonstans på sidan i Chrome och därefter klicka på Inspektera

optimerad-wordpress-med-memcached-wp-ffpc-2

Begränsningar i våra tester

Vi tar endast hänsyn till att hastigheten för själva html dokumentet är optimerat. Det finns mycket mer än så att göra när det kommer till optimering, t.ex. minifiering av css, js och bilder, CDN, m.m. Det finns olika plugins som hjälper till med detta men det är inget vi tar upp i den här artikeln.

Vi använder också endast Chrome DevTools för att utföra själva mätningarna och vi ställer in cache endast för besökare, dvs inte för inloggade användare.
Testet utförs på:

optimerad-wordpress-med-memcached-wp-ffpc-3

Varning

Som med alla cache-plugin så finns det för- och nackdelar. Vi har i det här blogginlägget valt att använda oss av pluginet wp-ffpc, men under testerna märkte vi bland annat att woocommerce inte automatiskt exkluderades. Vi rekommenderar därför inte i dagsläget att använda wp-ffpc ihop med woocommerce.
Vi har dock fortsatt att utvärdera cache-plugins för både redis och memcached och kommer att följa upp det här blogginlägget med tester så håll utkik på vår blogg.

Kontrollera därför alltid att din sida fungerar före och efter du har aktiverat ett cache-plugin.

PHP version, extensioner och inställningar

Det första vi gör är att kontrollera att vi har den senaste versionen av PHP eller iallafall minst PHP 7.0 och att extensionerna opcache samt memcached är valda inne i kontrollpanelen.
PHP 7.x är ungefär dubbelt så snabb som PHP 5.6 och nästan tre gånger så snabb som PHP 5.3 så det är en stark rekommendation från vår sida att uppgradera till minst PHP 7.0 om din hemsida klarar av det.

Du ställer in allting i vår kontrollpanel under ikonen ”Select PHP Version”. Skriv in ”php” längst upp i sökfunktionen för att snabbt hitta rätt.
optimerad-wordpress-med-memcached-wp-ffpc-4
Du får då upp en sida som visar vilken PHP-version som körs samt vilka extensioner som du har aktiverat för ditt webbhotellkonto för den specifika versionen av PHP.
optimerad-wordpress-med-memcached-wp-ffpc-5
Klicka i rullningslisten ovan, dra ned till 7.1 och klicka på ”Sätt som aktiv”.
optimerad-wordpress-med-memcached-wp-ffpc-6 Därefter ser du till att både opcache och memcached är ikryssade och klickar på Spara längst ned. Kontrollera att din hemsida fungerar och att du inte får upp några fel, annars kan du behöva backa till den PHP-version du hade tidigare.
optimerad-wordpress-med-memcached-wp-ffpc-7

Memcached plugin och inställningar

Installera wp-ffpc tillägget via WordPress admin och aktivera det. Det krävs några inställningar innan man får det att fungera som man vill.
optimerad-wordpress-med-memcached-wp-ffpc-8

Lägg till WP_CACHE i wp-config.php

Du behöver tyvärr redigera filen wp-config.php och lägga till define('WP_CACHE', TRUE); längst upp efter PHP taggen för att slå på cache i WordPress.
Du kan använda Filhanteraren i kontrollpanelen om du vill göra det grafisk och då ser det ut ungefär så här:
optimerad-wordpress-med-memcached-wp-ffpc-9 optimerad-wordpress-med-memcached-wp-ffpc-10 optimerad-wordpress-med-memcached-wp-ffpc-11

Sätt rätt backend i wp-ffpc

Klicka på Inställningar i WordPress admin och väl WP-FFPC. I fliken som heter ”Backend Settings” och rutan Hosts så skriver du in: unix://tmp/memcached
vilket betyder att den skall leta efter en unix-socket med sökvägen /tmp/memcached. Bocka gärna för ”binary mode” enligt bilden för en liten extra prestandavinst. Tryck på Save längst ned.
optimerad-wordpress-med-memcached-wp-ffpc-12

Extra inställningar

Det räcker med de inställningar vi har gjort för att cachen skall fungera, men det går också att ställa in hur länge cachen skall vara aktiv innan den hämtar ny information på nytt m.m. Experimentera gärna med inställningarna för att se vad som fungerar bäst för dig. Som standard är cachen på 300 sekunder, dvs 5 minuter, men den har även ”invalidering” av cache ifall man uppdaterar ett inlägg/sida så att ändringarna syns direkt.

I testena som vi gjorde så användes följande inställningar i wp-ffpc:

  • Select backend: PHP Memcached
  • Expiration time for posts: 14400
  • Expiration time for taxonomy: 14400
  • Expiration time for home: 14400
  • Cache invalidation method: modified post and posts index page
  • SHA1 hash key: Ja

Till testerna

Testerna utfördes med Chrome-webbläsaren i Inkognito-läge, med DevTools igång och webbläsarcache avstängt. Sidan som hämtades var från Theme Test unit och innehöll ett galleri. Vi rensade cachen mellan varje försök och vi värmde upp cachen genom att manuellt ladda om samma sida fem gånger. Med laddtid avses den tid det tog för servern att generera och skicka html dokumentet (längst upp under Network i DevTools). Klicka på länkarna nedan för att se skärmbild av testet.

PHP-version Laddtid OPcache Memcached
PHP 5.3 1610 ms Nej Nej
PHP 5.6 1290 ms Nej Nej
PHP 5.6 996 ms Ja Nej
PHP 7.0 529 ms Nej Nej
PHP 7.0 414 ms Ja Nej
PHP 7.1 536 ms Nej Nej
PHP 7.1 415 ms Ja Nej
PHP 7.1 15 ms Ja Ja

Sammanfattning

Man ser att stora prestandaförändringar gjordes mellan PHP version 5.3 och 5.6 och ännu större när man kommer till version 7.0 som är ca 2 gånger snabbare än 5.6 och ca 3 gånger snabbare än 5.3. Inga större prestandaförändringar mellan PHP 7.0 och 7.1.
Sidorna laddas snabbare när vi aktiverar OPcache extensionen i kontrollpanalen och aktiverar vi Memcached och använder wp-ffpc modulen så laddar sidan ca 100 gånger snabbare när den finns i cachen.

Vi bör dock se upp med val av cache-plugin, då vissa inte stödjer plugins som woocommerce, wpml m.m. utan extra handpåläggning eller inte alls. wp-ffpc fungerar bra med en ganska så statisk hemsida, som använder bloggposter och sidor, men mindre bra till en webbshop.

Rekommendationen från oss är att i första hand uppdatera PHP version till 7.0 om man inte har det redan idag, därefter kontrollera att OPcache är aktivt. Har man en ganska så statisk wordpress så kan man prova att aktivera wp-ffpc för att få en blixtsnabb hemsida

Webbplatsen använder Cookies. Läs mer här och

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close