Uit Byte Kennisbank
(Doorverwezen vanaf Magento Varnish)
Let op!Deze informatie is bedoeld voor de meer technisch gevorderde lezer. Byte kan hierbij geen technische support leveren. Ben je zelf niet zo technisch? Neem dan contact op met één van onze partners, te vinden op onze Partnerpagina.

Bij Byte kun je vanaf februari 2014 gebruik maken van Varnish Caching. Dit is tot op heden alleen beschikbaar voor onze Dedicated Magento Servers. Om Varnish te configureren en beheren kun je gebruik maken van de module Turpentine of je kunt het handmatig doen.

Op deze pagina leggen we uit hoe je Turpentine kunt toepassen en hoe je je eigen Varnish extensie kunt gebruiken.


Inhoud

Stap 1 - Configureer Varnish

Gebruik maken van Turpentine

Download Turpentine

Er zijn twee manieren om de Turpentine extensie te downloaden:

  • Via Magento Connect
  • Via Modman


Beide methodes worden hieronder beschreven. De meest gebruiksvriendelijke manier is via Magento Connect.

Via Magento Connect
Turpentine installeren via Magento Connect
afb. 1 Turpentine installeren via Magento Connect

Voor het installeren van Turpentine raden we aan gebruik te maken van Magento Connect. Hoe dat precies werkt kun je hieronder lezen:

  1. Login de backend van je Magento shop.
  2. Ga naar System -> Magento Connect -> Magento Connect Manager
  3. Vul je admin gegevens in.
  4. Plaats de volgende key in het veld naast Paste extension key to install : http://connect20.magentocommerce.com/community/ Nexcessnet_Turpentine
  5. Klik op Install (zie afbeelding 1).
  6. Klik op Proceed.
  7. De extensie wordt nu geïnstalleerd in je webruimte.
Via Modman

Je kunt ook de extensie via Modman installeren. Hoe dat precies werkt kun je hieronder lezen:

Allereerst dien je de huidige actieve map te veranderen naar die van jouw domeinnaam (in plaats van domeinnaam voer je je eigen domeinnaam in, zonder www)

cd domeinnaam

De modman module dien je, indien nog niet eerder gebruikt, via Shell te initialiseren met het volgende commando:

modman init

Modman is nu geactiveerd. De extensie Turpentine kan nu geïnstalleerd worden via GitHub (lees meer over GitHub op onze blogpost Why you should use Git). Gebruik hiervoor het volgende commando:

modman clone https://github.com/nexcess/magento-turpentine.git

Hoera, Turpentine staat in je webruimte geïnstalleerd!

Leeg de caches van je shop

Nadat de extensie is geïnstalleerd moet je nog de caches van je shop legen. Dit kun je via de backend van je Magento shop doen (System → Cache Management). Zorg er tevens voor dat je FPC cache uitstaat. Dit kan voor problemen zorgen namelijk!

Configureer Turpentine

Klik op de optie Varnish
afb. 2 Klik op de optie Varnish
Kies voor Turpentine
afb. 3 Kies voor Turpentine
Klik op Varnish Options
afb. 4 Klik op Varnish Options

Nu alle caches geleegd zijn kun je Turpentine configureren. Volg hiervoor de volgende stappen:

  1. Login op het Service Panel.
  2. Klik op je domeinnaam.
  3. Klik op het tabblad Instellingen.
  4. Klik op de optie Varnish (zie afbeelding 2).
  5. Hou de Varnish Cache nu nog op Niet actief staan. Dit is nodig om eerst je shop goed op Varnish te testen voordat je daadwerkelijk er gebruik van gaat maken. Meer informatie over het testen lees je onder het kopje Test eerst de werking van je shop
  6. Klik op Varnish beheren via Turpentine (zie afbeelding 3).
  7. Bewaar deze pagina. Deze gegevens heb je zo nodig.
  8. Login de backend van je Magento shop.
  9. Ga naar System -> Configuration.
  10. Klik aan de linkerkant op Varnish Options onder het kopje Turpentine (zie afbeelding 4).
  11. Vul nu de volgende gegevens in:
    1. Varnish version: Deze laat je op auto staan.
    2. Varnish server list: Hier plak je de content uit het Service Panel.
    3. Varnish authentication key: Hier plak je de content uit het Service Panel.
  12. Klik op Caching Options onder het kopje Turpentine
  13. Controleer of de volgende gegevens ingesteld staan:
    1. Backend host: Hier moet localhost staan.
    2. Backend port: Hier moet 8080 staan.
  14. Ga naar Systems -> Cache Storage Management.
  15. Zet Varnish Pages en Varnish ESI Blocks' allebei op ENABLED.
  16. Klik vervolgens op de oranje button onderaan Apply Varnish Config.
  17. Je kunt nu gebruik maken van Varnish.

Handmatig Varnish configureren en beheren

Varnish manual mode
afb. 5 Varnish manual mode

Je bent uiteraard niet verplicht om gebruik te maken van Turpentine. Je kunt immers ook zelf een extensie naar keuze gebruiken. Hiervoor hebben wij een mooie manual optie gemaakt (zie afbeelding 5). Hier moet je handmatig je eigen VCL schrijven en dit dan pushen naar Varnish.

Stap 2 - Test goed de werking van je shop!

Test eerst goed de werking van je shop voordat je daadwerkelijk de Varnish Cache op Actief zet. Het kan namelijk gebeuren dat een template/plugin binnen je shop niet goed werkt met Varnish en dat dan je shop kapot gaat.

De beste manier om je Varnish te testen is door het op een testomgeving te doen. Op deze manier heeft het sowieso geen effect op je livesite.

Je kunt de werking van Varnish ook testen door via een ander poortnummer (8081) je website te bekijken. Roep de testpoort op door het poortnummer :8081 toe te voegen aan de URL: domein.nl:8081. Je zult wel op elke nieuwe pagina die je opent opnieuw de testpoort toe moeten voegen aan de URL. Let wel op: het kan zijn dat externe koppelingen niet goed functioneren via de testpoort. Het is dus niet de meest optimale manier om Varnish te testen.

Heb je alles goed getest? Zet dan in het Service Panel de Varnish Cache op Actief.

Stap 3 - Alles getest? Activeer dan pas Varnish

Wanneer je klaar bent met het testen van je site op Varnish en alles werkt naar behoren, dan kun je de Varnish Cache in het Service Panel op Actief zetten. Hierna zal Varnish alle informatie opslaan in zijn eigen cache. Er hoeft hierna alleen nog maar verbinding met Apache gemaakt te worden, wanneer Varnish data moet hebben dat nog niet in zijn eigen cache opgeslagen staat. Hierdoor zal je website vele malen sneller worden.

Gebruik Google Analytics voor je statistieken

Wanneer je Varnish Caching gebruikt komen de requests voor je webshop bij Varnish uit en niet op Apache. Hierdoor zullen de statistieken in ons Service Panel niet overeen komen met de exacte waarden van het aantal bezoeken op jouw website. Tevens zullen onze access logs ook niet de correcte data weergeven, want onze tooling haalt deze informatie bij Apache op.

Wil je toch nog weten hoeveel bezoekers je daadwerkelijk op je site krijgt, maak dan gebruik van Google Analytics .Op deze manier kun je van de voordelen van varnish blijven genieten maar heb je wel een mooi overzicht hoeveel bezoekers er nog op je site komen.

Hulp nodig bij de implementatie van Varnish?

Onze partner Supportdesk heeft in een aantal gastblogs wat testen gedaan hoe Magento precies werkt/draait op Varnish. Hieronder kun je lezen wat hun bevindingen zijn:


De implementatie van Varnish op je Magento shop kost vele developmenturen en we raden je dan ook aan om hier een van onze partners voor te benaderen. Via de pagina Over Byte > Partners krijg je een overzicht van alle partijen met wie wij samenwerken. Zij kunnen jou helpen met het implementeren van Varnish.

Veelvoorkomende problemen

Dynamische blokken werken niet

Dit is een bekend probleem waarvan de oorzaak (in de meeste gevallen) bij de samenwerking van Turpentine met het gebruikte template ligt.

Oorzaak: Turpentine heeft een layout file genaamd turpentine_esi.xml. In deze file staat de configuratie voor de blokken die dynamisch ingevuld moeten worden en wanneer de blokken opnieuw geladen moeten worden. Tegelijkertijd wijzigen de meeste templates de layout van Magento om deze zelf opnieuw in te vullen. Dit doen ze door de volgende code in de layout files van het template te plaatsen: unsetChild. Deze code zorgt ervoor dat alle waarden van het blok gereset worden. Dit resetten gebeurt dus ook als er door de Turpentine module waarden zijn toegekend aan dit blok om ‘m dynamisch te maken. Resultaat: de dynamische blokken worden statisch geladen in plaats van dynamisch.

Oplossing: Gelukkig is dit vrij gemakkelijk op te lossen.

  1. Open de eigen local.xml van het template. Is deze file er niet, maak deze dan aan.
  2. Bekijk in alle layout files van het template of en zo ja welke unsetChild er gebruikt wordt.
  3. Zoek hetzelfde blok op binnen de turpetine_esi.xml file (<reference> </reference>) en kopieer deze naar de local.xml van het template (onderaan).
  4. Leeg de cache.


Lees er mee over op ons blog.

De huidige waardering is: 53/100 (20 stemmen)
 You need to enable JavaScript to vote
  • Deze pagina is het laatst bewerkt op 18 mrt 2014 om 17:56.
  • Deze pagina is 12.652 keer bekeken.