Op een website met verschillende duizenden bezoekers per dag doe ik nog steeds niets wat caching betreft.
Ik heb mij wat ingelezen en zou hier toch graag mee aan de slag gaan omwille van de snelheidswinst en om de server minder zwaar te belasten.
Er zijn verschillende blokken op de website die bij elk bezoek gegenereerd worden mbv query's:
- Blokken die nooit wijzigen (zeker cachen?)
- Blokken die heel af en toe wijzigen (ook cachen?)
- Blokken waarvan 50% van het blok heel af en toe wijzigt, en 50% ongeveer elk uur (gedeeltelijk cachen?)
- Zoekresultaten (niet cachen?)
Nu heb ik geen idee hoe ik dit op de beste manier kan aanpakken.
De eenvoudigste oplossing lijkt me om via PHP te cachen, zoals beschreven staat in bv http://www.sanwebe.com/2013/09/php-c...-up-load-times
Daarnaast heb ik ook over Varnish Cache gelezen.
Wat zijn volgens jullie de voor- en nadelen van beide systemen? Zijn er nog andere aan te raden mogelijkheden?
Geen idee of het belangrijk is, maar ik vermeld het even: de website telt ongeveer 140.000 pagina's waarvan er ongeveer 70.000 elke maand bezocht worden, goed voor ongeveer 800.000 pageviews per maand. Dit wil dus zeggen dat de bezoekers zéér verspreid op de website surfen. Zo heeft de meest bezochte pagina slechts 13.000 pageviews per maand.
Alvast dank!
- Op welke manier website cachen?
-
03-11-2014, 08:55 #1
- Berichten
- 1.111
- Lid sinds
- 19 Jaar
Op welke manier website cachen?
-
In de schijnwerper
-
03-11-2014, 14:49 #2
- Berichten
- 1.990
- Lid sinds
- 15 Jaar
Re: Op welke manier website cachen?
Kan je ook proberen http://nl1.php.net/apc
-
04-11-2014, 18:10 #3
- Berichten
- 1.111
- Lid sinds
- 19 Jaar
Re: Op welke manier website cachen?
De methode die ik eerst in gedachten had, namelijk cache-bestanden opslaan op de server is niet zo'n goede oplossing begrijp ik na nog wat meer leeswerk gedaan te hebben? Dit omdat het veel trager is om een bestand op te halen van de server in vergelijking met bv de cache uit de memory te halen. Klopt dit ongeveer?
APC lijkt een goede keuze te zijn, al lees ik hier en daar dat het vanaf PHP 5.5 niet meer ondersteund zal worden?
Verder vraag ik mij af hoeveel ruimte ik moet voorzien voor de cache. Stel ik reserveer hiervoor 128Mb in het geheugen. Hoeveel kan ik hierin opslaan? Kan ik dit op een bepaalde manier berekenen/testen?
-
04-11-2014, 18:29 #4
- Berichten
- 301
- Lid sinds
- 17 Jaar
Re: Op welke manier website cachen?
Je kunt ook eens kijken naar Redis
-
04-11-2014, 18:39 #5
- Berichten
- 323
- Lid sinds
- 16 Jaar
Re: Op welke manier website cachen?
Klopt, vanaf PHP 5.4 werkt APC niet lekker meer. Een combinatie van de volgende cachings kun je de ideale situatie creëren.
- APC / OPcache (vanaf PHP 5.5)
- Memcache
- Redis
- Varnish
Wij maken ook gebruik van deze methodes bij onze business en (met name) Magento hosting, werkt fantastisch.
Uiteraard zijn er nog veel tweaks uit te voeren met je tmpfs, mysql optimalisatie, NGINX.. noem maar op.
-
05-11-2014, 09:15 #6
- Berichten
- 980
- Lid sinds
- 17 Jaar
Re: Op welke manier website cachen?
Als je het voor elkaar krijgt om te werken met Varnish, raad ik je dat sterk aan. Onder andere webshops van prominente klanten gebruiken dit intensief om Magento naar laadtijden onder de 300ms te krijgen. Dynamische content wordt daarbij dan via ajax ingeladen of via andere methoden.
Lukt je dit niet kan ik je daarnaast Redis sterk adviseren, echter is redis niet echt een page cache, maar meer een key-value cache. Het verschil hierin is dat Varnish (page cache) wel de HTML al onthoud en bij Redis de HTML alsnog gegenereerd moet worden met gecachte gegevens. Zoals je begrijpt zit hier dus ook al een snelheidswinst in.
-
05-11-2014, 10:04 #7
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Op welke manier website cachen?
Cachen is gewoon de laatste stap in een optimalisatie proces... dus je hebt niks aan té specifieke cache methoden als je de voor- en nadelen niet duidelijk voor ogen hebt.
Zomaar varnish voor je website gooien kan even dom zijn als alles wat je cachebaar lijkt in apc/xcache/whatever droppen of alles met dezelfde timeout cachen.
Je moet in principe eerst even uitzoeken wélke onderdelen zorgen voor de meeste traagheid.
Per onderdeel kijk je naar de juiste aanpak.
En het maakt natuurlijk uit of je een website hebt waar je zelf de code kunt aanpassen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic