Hallo,
Bij grote website's (>10.000 pageviews per dag) kan een pagina met enkele queries nogal flink belastend zijn voor je server met een trage website als gevolg. Hiervoor is er al langer een cache-functie in php voor beschikbaar, serialize().
Er bestaan ook nog andere mogelijkheden. Bijvoorbeeld elke x minuten een plain-html versie maken van je website, bij de delen waar iets gewijzigd is (via een cronjob).
Hierdoor moeten je documenten niet meer geparsed worden, maar enkel om de zoveel tijd enkele cronjobs laten draaien. Bij een forum is dat nauwelijks te doen (of je moet al heel erg veel views hebben per minuut om er een snelheidswinst aan over te houden), maar bij een nieuwssysteem, artikelen, links, downloads, gastenboek enzoverder is dit de beste, snelste methode. Ook NU.nl gebruikt ook deze methode voor hun nieuws.
Ik wil dit laatste in een soort CMS-core gieten om om in al mijn toekomstige websites te gebruiken als basis. Ik bots nu echter op een probleem.
Ik ben gewoon om PHP en HTML compleet van mekaar gescheiden te houden door het gebruik van Templatepower. Nu is mijn vraag: hoe kan ik, mét een PHP cronjob, een plain-html schrijven met het gebruik van templates (code dus gescheiden van html).
Met templatepower kan ik wel output genereren, maar hoe kan ik die output nu opslaan in een html bestand?
Heeft verder iemand ervaringen met server side caching of het genereren van je website in plain-html? Wat zijn jullie ervaringen?
Frederic
- server side caching en snelheidsoptimalisatie
-
15-04-2006, 13:37 #1
- Berichten
- 74
- Lid sinds
- 19 Jaar
server side caching en snelheidsoptimalisatie
-
In de schijnwerper
Te Koop: Gratisproduct.nl – Jouw Sleutel tot Succes in de Online Wereld!Website te koopVerschillende domeinenDomein te koopwegens beëindiging bedrijf beschikbaar | InternetRadioLuisteren.nl DA10 - DR26Website te koopLinkvada.com Linkbuilding Platform: Direct Linkbuilden op 77.000+ premium domeinenSEO/Linkbuilding -
15-04-2006, 14:22 #2
- Berichten
- 292
- Lid sinds
- 19 Jaar
Om te beginnen is serialize niet gemaakt voor serverside caching, zoals je ook kunt zien op de link die je er zelf bij gaf.
Verder: geen gebruik maken van iets als TemplatePower en PHP gewoon gebruiken als templateparser is ook een goede optie, scheelt je een extra (onnodige) laag en daar mee waarschijnlijk een voordeel in je performance.
Je zou met eAccelerator aan de slag kunnen gaan en Zend Optimizer is natuurlijk ook leuk. Dit kan echter alleen als je de server zelf in beheert hebt, of je de beheerder(s) zo ver krijgt dat ze het installeren voor je.
De output van je templates kun je prima opvangen door middel van output buffering. Ik weet niet precies (meer) hoe TemplatePower werkt, maar het principe (in het algemeen) komt hier op neer:
Code:<?php ob_start(); $template->showOutput(); $output = ob_get_clean(); file_put_contents( 'html/index.html', $output ); echo $output; ?>
-
15-04-2006, 17:04 #3
- Berichten
- 95
- Lid sinds
- 19 Jaar
-
15-04-2006, 18:22 #4
- Berichten
- 74
- Lid sinds
- 19 Jaar
Dank voor de uitleg. Ik zoek nog wat tuts over die Zend, mijn host heeft dit namelijk draaien. Uitproberen kan zeker geen kwaad, integendeel :-)
-
16-04-2006, 15:23 #5
- Berichten
- 46
- Lid sinds
- 19 Jaar
In templatepower zit al een functie ingebouwd om de ouput te krijgen in een string... eigenlijk doet de functie juist hetzelfde als wat Martijn postte...
PHP Code:<?php
$oTpl = new TemplatePower('blabma.tpl');
//...
$sOutput = $oTpl->getOutputContent();
?>
-
16-04-2006, 19:55 #6
- Berichten
- 292
- Lid sinds
- 19 Jaar
Kijk, dat wist ik niet Pieter-Jan. Bedankt voor de aanvulling.
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