1. Hem
  2. Hemsidor
  3. Hur använder jag Memcached med WordPress?

Hur använder jag Memcached med WordPress?

This article is also available in enEnglish

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 laddar snabbare?

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-1DevTools 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 guiden.

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

Som med alla cache-plugins så finns det för- och nackdelar. Vi har i den här guiden 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.

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

PHP-version, moduler 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 modulerna 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. Vi har en guide här som går igenom hur du ändrar PHP-version.

På samma ställe som du ändrar PHP-version behöver du även se till att både OPCache och Memcached är ikryssade, klicka på Spara längst ned när du är klar. 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 pluginet 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

Konfigurera WP-FFPC

Klicka på Inställningar i WordPress admin och välj 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 Changes längst ned.
wp-ffpc-memcached-backend-socket-settings

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 testerna 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

Testresultaten

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-modulen i kontrollpanelen och aktiverar vi Memcached och använder WP-FFPC 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, WP-ML 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 minst 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!

Hjälpte den här guiden dig?

Relaterade guider

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support