[TYPO3-UG Dutch] Typo3 performance

Walter Tak [Tentacle] walter.tak at tentacle.nl
Wed Apr 19 14:12:06 CEST 2006


Hey Kevin,

TypoX is beretraag omdat het zo groot , complex en flexibel is. Wat iedereen 
ook zegt ; Typo is een cpu en memory hog.
Daar waar de eenvoudige PHP-cmsjes vliegen op hardware uit 1998 (300 mhz, 64 
mb ram) daar loopt Typo zowat vast.
(1 pagina per 3 seconden e.d.)

Als je Typo gaat vergelijken met 'eenvoudige' cmsjes of zelfs zelfgemaakte 
dingen die op basis van een handvol tabellen
werkten, dan is Typo al snel een factor 10 langzamer. Dat klinkt ernstig 
maar valt wel mee want als je een site hebt
die veel vereist , is de site ook vaak een investering in hardware waard. 
Voor non-profit zaken is dat wat lastiger
en dan moet je kiezen ; wil je op basis van eenvoudige hardware een 
bijzonder flexibel CMS of moet het
quick 'n dirty 'n speedy zijn.

Wat de anderen al suggereerden ; een reverse proxy annex accelerator kan je 
Typo-core enigzins ontlasten.

Zelf werken we al jaren met een Squid reverse accelerator en die cached dus 
vrij efficient alle files die niet
gewijzigd zijn, vooral static images natuurlijk dus het effect is niet heel 
bijzonder ; het ontlast vooral Apache
en verlaagt niet 1 2 3 het aantal hits op de php-scripts die 99% 
verantwoordelijk zijn voor de load. Hou rekening
mee met het login systeem ; hierdoor MOET Typo voor elke pagina kijken of de 
ingelogde bezoeker wel
rechten heeft. Dat is wel even wat ingewikkelder dan public pages serveren. 
Technisch mogen die pagina's
niet gecached worden door een accelerator en dus wordt elke pagina alsnog 
'gerenderd' dan wel opgezocht
in de Typo-cache.

Verder ; alles wat met 'zoeken' te maken heeft is traag.

Welnee hoor ik je zeggen. Nou ; ik zocht op 'hoi' en kreeg resultaten na ... 
58.2 seconden ! Na de 1e keer zoeken
worden de resultaten gecached en returned 'hoi' in enkele seconden. Zoeken 
op 'halls' kwam terug na 14 seconden.
Da's niet echt snel EN vertraagt je hele server.

Typo's zoeksysteem is niet zo flitsend als Google. Als er veel mensen zoeken 
staat je systeem vrijwel stil. Als je dus
60 zoekakties per uur hebt is je systeem vrijwel 100% belast.

Je kan overwegen om a) de zoekknop te 'verstoppen' in een submenu zodat niet 
iedereen te pas en te onpas
gaat zoeken (performance-wise, ui-unwise) of b) je laat 't zoeken door 
Google doen. Zorg dat je site goed
geindexeerd is door Google en maak een formuliertje dat bij google op 
"site:www.hallsofillusions.com" zoekt.
Bliksemsnel en (als de pagina's kloppen) net zo effectief.

Het is natuurlijk ook handig om zelf de site helemaal 'te bezoeken' zodat 
alle pagina's ook echt al aangemaakt
en dus gecached zijn door Typo zelf, niet dat een bezoeker die pagina moet 
laten genereren terwijl er 20 anderen
online zijn en dus wederom tijdelijk je systeem 100% belasten. Maar dat 
spreekt voor zich. Indien je ooit
de cache moet legen (bij een update aan scripts/instellingen of andere 
grappen) is het handig om dus snel alle
pagina's te gaan bezoeken op een moment dat de site 'rustig' is zodat de 
eerstvolgende bezoekers weer een gecachte
site tegenkomen.

Tips die praktisch zijn ; ga zoeken in de search op alle mogelijke woorden 
waarvan jij denk dat je bezoekers
er ooit op gaan zoeken. insane, clown, posse, cd, release, titels van 
albums, namen van clowns, data,
plaatsen, etc etc .. Als jij dat al doet is de search voor de eerstvolgende 
bezoeker snel en heb je minder load.

Probeer die members-area klein te houden. Content die public is, laat die 
lekker public zijn. Laat ze alleen
inloggen voor comments e.d. voor zover mogelijk.

Technisch ; probeer database en webserver te scheiden. Als je toch meer 
machines hebt ; gebruik dan
de database op server 2 voor de Typo-content. Nu moet je CPU zowel 
php-scripts parsen EN je database
laten knarsen. Scheiding kan snel 25 tot 50% snelheidswinst opleveren. Zet 
eventueel de memory limit voor PHP
wat omhoog. Verhoog 't aantal child-processen van Apache. Installeer de 
database op een partitie die niet
gefragmenteerd is en/of niet vaak wordt beschreven. Plaats de database op 
een SCSI disk i.p.v. IDE.
etc etc Typo is voor 95% lineair schaalbaar met CPU snelheid. Heb je nu 700 
Mhz en zet je er 2100 Mhz in
dan gaat je site 300% sneller. Misschien wel meer omdat ook bussnelheid e.d. 
toenemen maar ga even uit
van een 95% schaalbaarheid "per Mhz".

Reacties en suggesties zijn welkom !

My 3 cents,

Walter Tak
Tentacle



"Kevin Renskers" <info at dualdot.nl> wrote in message 
news:mailman.1.1145391854.6470.typo3-ug-dutch at lists.netfielders.de...
> Hoi lijst,
>
> Afgelopen zondag heb ik mijn vernieuwde site online gezet. Even wat
> achtergrond info, is misschien wel leuk:
>
> www.HallsOfIllusions.com is 5 jaar oud en sinds 2 jaar de grootste
> fansite ter wereld over Insane Clown Posse en verwante bands. Een tijd
> geleden heb ik besloten de site helemaal om te bouwen naar Typo3, omdat
> het (eigen gemaakte) systeem zijn beste tijd wel had gehad. Het voldeed
> wel goed, maar de rek was eruit zeg maar. Geen echte mogelijkheden tot
> uitbreidingen en zo. Anyways, de site had zo'n 20.,000 actieve leden,
> maar alle accounts zijn met de vernieuwde versie verwijderd om met een
> schone lei te beginnen.
>
> Nou heb ik dus afgelopen zondag de nieuwe site online gezet, en vandaag
> zitten we alweer aan zo'n 2.000 leden. Maar.... mijn server heeft het er
> verrekte moeilijk mee! Ik vind het best vreemd aangezien zo'n beetje
> alles toch gecached zou moeten worden? En de site draait nog niet eens
> op volle toeren!
>
> Ik heb een aantal images bijgevoegd. Je kunt goed zien wanneer de nieuwe
> site online ging :)
>
> Het is een dedicated server met 1 GB geheugen. De server heeft Apache
> 1.3, PHP 4.3, en Zend Optimizer is ook geinstalleerd. Verder staat
> caching in Typo3 gewoon aan.
>
> Ik begin me toch wel zorgen te maken, want de server voelt toch niet
> echt lekker snappy meer aan weet je wel. Ik ben zeker wel blij met de
> vernieuwde site in Typo3, de crew is ook erg blij met de backend, maar
> de load komt toch wel erg vaak tot 4 of zelfs 7. Voorheen kwam die
> zelden boven de 1 uit....
>
> Misschien iemand goede ideeen of ervaringen?
> Kevin Renskers




More information about the TYPO3-UG-dutch mailing list