Bekijk Volledige Versie : [PHP] snel, sneller, het snelst!
Leuk programmaatje geschreven met LAMP. Best aardig,
't zijn al aardig wat kb's aan code geworden. Echter ik merk
dat zo hier en daar de zaak wat langzaam begint te worden.
Wie heeft een setje tips om bottlenecks op te sporen en/of
te vermijden. Kun je bijv. de statements/functies timen?
Tot nu toe heb ik wel wat blokken met eigen timers bewaakt,
maar dat is een beetje omslachtig om dat in iedere proc
te zetten.
De totale processing-tijd van apache voor een pagina, die log ik al.
Ik hoop niet dat ik de hele zaak over moet programmeren
in C/C++ of zo...
IE6 met wat javascript is overigens ook niet echt vlot
als je in tabellen van meerdere honderden regels werkt..
--
Groeten,
Huibert.
Rene Pijlman
25/01/05, 12:45
Huibert:
>Leuk programmaatje geschreven met LAMP. Best aardig,
>'t zijn al aardig wat kb's aan code geworden. Echter ik merk
>dat zo hier en daar de zaak wat langzaam begint te worden.
Heb je al een PHP accelerator? Turck MMCache van harte aanbevolen:
http://turck-mmcache.sourceforge.net/index_old.html
>Wie heeft een setje tips om bottlenecks op te sporen en/of
>te vermijden. Kun je bijv. de statements/functies timen?
Dat heet in het Engels "profiling". Google levert een veelbelovende serp:
http://www.google.com/search?q=profiling+php
MySQL is natuurlijk een ander verhaal. Dan zou je moeten kijken naar
datamodel, queries, indexen, executieplannen etc.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
bericht news:j2ccv09kaj2v500ractttttm6d8p6ukm5b@4ax.com...
> Huibert:
>>Leuk programmaatje geschreven met LAMP. Best aardig,
>>'t zijn al aardig wat kb's aan code geworden. Echter ik merk
>>dat zo hier en daar de zaak wat langzaam begint te worden.
>
> Heb je al een PHP accelerator? Turck MMCache van harte aanbevolen:
> http://turck-mmcache.sourceforge.net/index_old.html
>
>>Wie heeft een setje tips om bottlenecks op te sporen en/of
>>te vermijden. Kun je bijv. de statements/functies timen?
>
> Dat heet in het Engels "profiling". Google levert een veelbelovende serp:
> http://www.google.com/search?q=profiling+php
>
> MySQL is natuurlijk een ander verhaal. Dan zou je moeten kijken naar
> datamodel, queries, indexen, executieplannen etc.
>
Daar snap al te veel van... ;-) En MySQL is wel effe wat anders
dan Oracle: MySQL draait gelijk goed, en bij oracle heb je shit
totdat je het ANALYZE en CREATE INDEX commando hebt gevonden...
Bij mysql heb ik de gekste queries leuk en vlot teruggekregen.
Alleen jammer dat views nog niet werken....
> --
> René Pijlman
>
Yep als je het juiste woordje weet! Thanx!
--
Groeten,
Huibert.
Jan Ehrhardt
25/01/05, 15:25
Huibert in nl.internet.www.server-side (Tue, 25 Jan 2005 14:55:34
+0100):
>"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
>bericht news:j2ccv09kaj2v500ractttttm6d8p6ukm5b@4ax.com...
>
>> MySQL is natuurlijk een ander verhaal. Dan zou je moeten kijken naar
>> datamodel, queries, indexen, executieplannen etc.
>>
>Daar snap al te veel van... ;-) En MySQL is wel effe wat anders
>dan Oracle: MySQL draait gelijk goed
In MySQL is het vaak sneller om 1 maal alles uit een tabel te selecteren
en dat in PHP-variabelen op te slaan dan telkens een nieuwe query uit te
voeren op dezelfde tabel. Daar kan je veeeeel tijd mee winnen.
Jan
--
Look, Ma. No tables - http://enbio.steenbergen-stichting.nl/
Rene Pijlman
25/01/05, 15:45
Huibert:
>Rene Pijlman:
>> MySQL is natuurlijk een ander verhaal. Dan zou je moeten kijken naar
>> datamodel, queries, indexen, executieplannen etc.
>>
>En MySQL is wel effe wat anders dan Oracle: MySQL draait gelijk goed,
>en bij oracle heb je shit totdat je het ANALYZE en CREATE INDEX commando
>hebt gevonden...
De dingen die ik noemde zijn tamelijk universeel en gelden voor vrijwel
elke hedendaagse relationele database engine. Ik kan me niet voorstellen
dat MySQL automatisch indexen maakt (anders dan op keys).
>Bij mysql heb ik de gekste queries leuk en vlot teruggekregen.
Dan heb je zeker een relatief kleine database (alle data in memory) en heb
je een datamodel met queries zonder al te veel joins.
Veel data of veel joins -> gij zult uw indexen optimaliseren, of eeuwige
toorn van de diskgoden en cpu-goden is uw deel!
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
bericht news:eulcv0t69pdcd3tfhfenm621902dqvouiv@4ax.com...
> Huibert:
>>Rene Pijlman:
>>> MySQL is natuurlijk een ander verhaal. Dan zou je moeten kijken naar
>>> datamodel, queries, indexen, executieplannen etc.
>>>
>>En MySQL is wel effe wat anders dan Oracle: MySQL draait gelijk goed,
>>en bij oracle heb je shit totdat je het ANALYZE en CREATE INDEX commando
>>hebt gevonden...
>
> De dingen die ik noemde zijn tamelijk universeel en gelden voor vrijwel
> elke hedendaagse relationele database engine. Ik kan me niet voorstellen
> dat MySQL automatisch indexen maakt (anders dan op keys).
>
>>Bij mysql heb ik de gekste queries leuk en vlot teruggekregen.
>
> Dan heb je zeker een relatief kleine database (alle data in memory) en heb
> je een datamodel met queries zonder al te veel joins.
>
Niet al te veel data (nog), wel veel kleine tabelletjes en tonnen van joins.
> Veel data of veel joins -> gij zult uw indexen optimaliseren, of eeuwige
> toorn van de diskgoden en cpu-goden is uw deel!
>
onderhand wel wat indexjes erbij (innodb met ref.integriteit lukt niet
zonder
indexen). En de meste queries braaf over de referenties heen.
Voorts: de snelste en goedkoopste weg tot een vlot systeem is -tegenwoordig-
nieuwe hardware. Kost minder als een redesign en is vaak sneller en
met minder risico te implementeren. Tenzij de programmeurs er echt een
zooitje van hebben gemaakt.
En daar was 't me natuurlijk om te doen in deze thread.
--
huibert.
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl