Magento Byte CDN

Uit Byte Docs

Inhoud

Wat is een CDN en wat kan ik er mee?

Het CDN is een opstelling van servers die geoptimaliseerd zijn om statische content snel uit te kunnen serveren. Waar de standaard webclusteropstelling veelzijdig is (kan PHP, CGI, statische files, rewrites, cache control, authenticatie, etc), maakt dat de webservers in die opstelling niet perse sneller. Door al deze zaken overboord te gooien en alleen statische files uit te serveren en lokaal te cachen kan het serveren van statische files vele malen versneld worden. Hierdoor neemt de waargenomen laadtijd van uw website enorm af.

Wanneer kan ik het CDN gebruiken?

U kunt het CDN gebruiken als u een Magentopakket afgenomen heeft. Voor Magentopakketten hebben we een tool ontwikkeld: Magento Accelerator. Die tool stelt automatisch de juiste media-url in in uw Magento installatie.

Wat moet ik doen om het CDN te gebruiken?

Het CDN is een zogeheten origin pull oplossing. Dat wil zeggen dat het CDN eerst een keer de content van het Byte cluster moet halen. Daarna kan het CDN de files snel lokaal uitserveren. U hoeft voor het gebruiken van het CDN niets technisch te doen. Het CDN haalt automatisch de content van de origin server (Byte cluster) en slaat het op.

Het enige dat u hoeft te doen is de speciale URL gebruiken die bij het CDN hoort. U vindt deze URL op het Service Panel als u een Magentopakket heeft. U kunt uw Magento automatisch instellen met de Accelarator tool op het Service Panel. Waar moet ik aan denken als ik het CDN gebruik? Het CDN slaat alle statische content (afbeeldingen, CSS, javascript) lokaal op schijf op, zodat die statische content dan sneller naar de klant uit te sturen is.

Wanneer u een nieuwe versie van een afbeelding, stylesheet of javascript uploadt naar het Byte cluster, dan kan het zijn dat het CDN nog een oude versie opgeslagen heeft. Immers, het CDN serveert altijd statische files vanaf lokale schijf. In dat geval zult u de cache van het CDN moeten verversen (zie onder).

Het is ook van belang dat u bestanden die gecachet moeten worden voorzien van de juiste cache-informatie. Dit doet u door in een .htaccess file aan de webserver in het Byte cluster te vertellen hoelang een file gecachet mag worden. Heeft u een Magento installatie draaien die u met de Magento Installer van Byte heeft gedaan, dan heeft Byte dit al voor u geregeld. Anders kunt u e.e.a. gemakkelijk zelf instellen. Zie voor instructies hier. Hoe ververs ik een bestand als het CDN een verouderde versie bewaart? Technische achtergrond De proxies van het CDN bewaren de files zolang de cache-duur niet overschreden is. U heeft de cache-duur ingesteld in een .htaccess file in uw documentroot of als u de Magento Installer heeft gebruikt, dan heeft Byte dat voor u gedaan.

Als u een nieuwere versie van het bestand uploadt, dan zal de proxy dat niet gelijk zien. Gelukkig hebben alle browsers de mogelijkheid om aan de webserver of eventuele lokale proxies te vertellen dat de browser geen gecachete versie wenst, maar altijd een verse versie wil van de origin server (het Byte cluster). Zij doen dat door zogeheten HTTP headers mee te sturen naar de server als zij het verzoek doen aan de webserver.

Aangezien het CDN opgebouwd is uit proxies die deze headers herkennen, zullen de proxies in het CDN altijd een nieuwe versie opvragen van de webservers van de clusters van Byte. Als er een nieuwere versie op de server bestaat, zal de origin server deze nieuwere versie uitserveren aan de proxy, die het op zijn beurt uitserveert aan de klant en tenslotte op schijf opslaat, zodat de volgende keer de meest recente versie uitgeserveerd kan worden. En nu wil ik weten hoe ik een refresh forceer! Het is per browser verschillend hoe deze “refresh” aangeroepen moet worden. In de meeste browsers betekent F5 dat de pagina opnieuw geladen moet worden, maar dat de browsercache gebruikt mag worden.

Met CTRL-F5 wordt meestal de pagina ververst en worden proxies en CDN’s gedwongen om ook de laatste versie op te halen.

Wilt u het volledige overzicht zien van browsers en wat de verschillende mogelijkheden zijn, kijkt u dan naar deze thread op stackoverflow.com. Ik ververs een bestand, maar ik krijg nog steeds een oude versie! Kijk of het goede bestand wel op de webserver staat Een gemakkelijke manier om te kijken of het CDN wel de goede file KAN serveren is om even te controlleren of de nieuwe file wel op het webcluster van Byte terecht is gekomen. Dit kan door de file direct van de webserver op te vragen.

Vervang bijvoorbeeld http://d000001.bytecdn.nl/plaatje.jpg door http://www.mijndomein.nl/plaatje.jpg. Een simpele, maar effectieve check.

Flush alle caches

Het kan gebeuren dat een oude versie van een bestand hardnekkig terug blijft komen. Dit kan komen door de verschillende lagen van caching die bij een Magento site komen kijken 
* De Magento template cache.
* De Magento resized image cache.
* De Magento Smartcache van Byte.
* De cache van het CDN.
* De cache van uw browser.

Denk eraan dat alle vier deze lagen de boosdoener kan zijn. Vergeet niet naast het leegmaken van de browsercache en het drukken op CTRL-SHIFT-R ook in de Magento backend op flush cache te drukken.

Gebruikt u de Smartcache van Byte? Dan kunt u deze legen op het Service Panel bij de daarvoor bestende tool. Is het plaatje niet op de ene CDN server wel ververst en op de andere niet? De plaatjes die op het CDN worden opgeslagen op lokale disk worden maar op een enkele server opgeslagen. Het is dus niet zo dat een plaatje op twee verschillende CDN servers terecht kan komen in verschillende versies.

Bekende Bugs

Afbeeldingen uploaden lijkt niet te werken

Bij gebruik van een CDN blijkt het uploaden van afbeeldingen vaak niet te werken. U kunt dit oplossen door de no-flash image uploader te installeren.

JavaScript werkt niet goed

Dit is een bekende bug, in sommige JavaScript files wordt verwezen naar het "top frame". Omdat het CDN via een andere domeinnaam benaderd wordt dan het hoofddomein raakt JavaScript in de war op zoek naar het top frame van het hoofddomein.

afb. 1 URL voorbeelden
Om dit probleem te verhelpen moet je via het admin panel van je Magento store via System => Configuration naar het kopje Web in het linker menu (onder General).

Verander onder "Secure" en "Unsecure" de Base JavaScript URL naar

{{unsecure_base_url}}js/

Als je gebruik maakt van SSL, zal je voor de secure base url uiteraard

{{secure_base_url}}js/

moeten gebruiken

De JavaScript files zullen nu niet langer van het CDN ingeladen worden.

Magento Hosting bij Byte

Meer weten de beschikbare Magento tools en voordelen van onze voor Magento geoptimaliseerde hosting? Bekijk dan de animatie op de pagina Magento hosting.

De huidige waardering is: 55/100 (4 stemmen)
 You need to enable JavaScript to vote
  • Deze pagina is het laatst bewerkt op 28 feb 2012 om 18:08.
  • Deze pagina is 1.976 keer bekeken.

We proberen de kwaliteit van onze kennisbank voortdurend te verbeteren.
Geef de informatie op deze pagina een waardering met de slider hierboven.