Toon posts:

Optimaliseren van PHP voor betere preformance?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wie heeft er tips... ik zou graag mijn php willen benutten tot de max!...

al een tip van mijn kant hehe wat ik ergens gelezen is is, dat je je sessions temp niet 'standaard' moet houden. Ivm attacks op de sessions dir ;) of iets in die zin :)

  • SH007
  • Registratie: November 2001
  • Niet online
Met zend kun je toch PHP scripts optimaliseren?

Verwijderd

Topicstarter
Op zondag 02 juni 2002 21:13 schreef SH007 het volgende:
Met zend kun je toch PHP scripts optimaliseren?
Dit gaat niet om zend, en volgens mij is dat alleen als je veel tsjing tsjing hebt ;). Dit gaat om het optimaliseren van PHP zelf..

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Reken er maar op dat JIJ de zwakste schakel bent in het optimaliseren. Jouw code is traag, die 3% die je uit de binairy kan persen is iets minder van belang.

Echter kijk eens in de PHP source. Er zitten altijd 2 php.ini bestanden bij. php.ini-dist en php.ini-opt. degene met de opt suffix had diverse optimalisaties in zich :)

Verwijderd

Topicstarter
Hmmz, tjee zo had ik het nog niet bekeken, ik dacht dat wanneer je memory settings aanpaste, of bepaalde libs die minder of niet van belang zijn niet laadde dat je dan een betere preformace kon krijgen, jammer dat dit niet het geval is.

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Glimi heeft gelijk, het heeft alles te maken met je eigen code. Door die te optimaliseren haal je de meeste winst.
Denk bijvoorbeeld aan:

• SQL Query's optimaliseren: dit doe je door bijvoorbeeld in een WHERE clause met meerdere expressions degene die selectie het meest verkleinen vooraan te zetten zodat de 2e door minder records hoeft te zoeken.

• Loops optimaliseren: Omdat de code in een loop vaak word uitgevoerd is het belangrijk dat deze weinig tijd nodig heeft. Probeer daarom alleen de hoogst nodige code in een loop te gooien, en ook zo min mogelijk database query's

• Snellere statements gebruiken: in een programeertaal kun je 1 ding (bijna) altijd op meerdere manieren doen. Sommige van die manieren zijn sneller dan andere. Je moet dus uitzoeken hoe je iets in jou geval het snelste kan doen, door bijvoorbeeld te benchmarken.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op zondag 02 juni 2002 22:40 schreef GraasGast het volgende:
Glimi heeft gelijk, het heeft alles te maken met je eigen code. Door die te optimaliseren haal je de meeste winst.
Denk bijvoorbeeld aan:

• SQL Query's optimaliseren: dit doe je door bijvoorbeeld in een WHERE clause met meerdere expressions degene die selectie het meest verkleinen vooraan te zetten zodat de 2e door minder records hoeft te zoeken.
Vergeet ook niet om de boel te DELAYED pleuren. Hiermee heeft een collega van me een programma van 1 minuut naar 6 seconden gekregen :)
• Loops optimaliseren: Omdat de code in een loop vaak word uitgevoerd is het belangrijk dat deze weinig tijd nodig heeft. Probeer daarom alleen de hoogst nodige code in een loop te gooien, en ook zo min mogelijk database query's
Ook worden de condities van de loop telkens uitgerekend. Zo is for( i=0; i < count($bla); i++) veel tijdverslinderder omdat count(bla) telkens opnieuw berkend moet worden :(
[...]

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Op zondag 02 juni 2002 22:45 schreef Glimi het volgende:

Vergeet ook niet om de boel te DELAYED pleuren. Hiermee heeft een collega van me een programma van 1 minuut naar 6 seconden gekregen :)
Wat bedoel je daar mee? dat php server gaat zonder het resultaat af te wachten oid? Met inserts kan ik me er iets bij voorstellen, maar bij selects is dat toch niet handig?
Ook worden de condities van de loop telkens uitgerekend. Zo is for( i=0; i < count($bla); i++) veel tijdverslinderder omdat count(bla) telkens opnieuw berkend moet worden :(
inderdaad! zo moet het: :)
code:
1
2
$count = count($bla);
for( i=0; i < $count; i++)

edit: en zo kan het beter: :)
code:
1
for( i=0, $count = count($bla); i < $count; i++)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 02 juni 2002 22:45 schreef Glimi het volgende:
Vergeet ook niet om de boel te DELAYED pleuren. Hiermee heeft een collega van me een programma van 1 minuut naar 6 seconden gekregen :)
Of transacties gebruiken in andere db's :)
Ook worden de condities van de loop telkens uitgerekend. Zo is for( i=0; i < count($bla); i++) veel tijdverslinderder omdat count(bla) telkens opnieuw berkend moet worden :(
Officieel gebeurd dat 'niet' maar in de praktijk.. :)

  • xshredx
  • Registratie: Maart 2001
  • Laatst online: 06-09 16:36

xshredx

 


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Hoewel de uit te voeren php code veel tijd in beslag neemt, is het ook erg de moeite waard om te kijken naar plaatsen waar de zend engine sneller kan worden gemaakt / kan worden geholpen.

Zo is het openen en lezen van een bestand bij elke request natuurlijk een vrij tijd-consumerend. Net zoals het moeten parsen van je php code en omzetten naar compiled code.

Om deze beide sneller te maken, kan je gebruik maken van de Zend accelerator. Hoewel je er wel een mooie interface bij krijgt, zal het ongetwijfeld iets te veel kosten.

Een gratis variant van is de PHP accelerator. Die doet biede dingen (i.t.t. veel andere accelerators) en werkt naar mijn idee prima.

  • Wirf
  • Registratie: April 2000
  • Laatst online: 03-09 13:05
Ook leuk is pagina's prerenderen :)

als je php alleen maar statische pagina's uitpoept (pagina's die niet vaak veranderen) kun je ze wel prerenderen, oftewel, 1 keer alles door php laten doen, daar de uitvoer van opslaan op schijf, en vervolgens alleen de opgeslagen versie serveren.

Heeft sinds kort zijn wachtwoord weer terug gevonden!


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

In andere woorden die de mensen hiervoor hebben duidelijk proberen te maken:
<h1>Leer programmeren</h1> :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 07:26
Wirf:
Ook leuk is pagina's prerenderen :)

als je php alleen maar statische pagina's uitpoept (pagina's die niet vaak veranderen) kun je ze wel prerenderen, oftewel, 1 keer alles door php laten doen, daar de uitvoer van opslaan op schijf, en vervolgens alleen de opgeslagen versie serveren.
Daar hebben ze een woord voor bedacht: cache.

Verwijderd

Topicstarter
Op maandag 03 juni 2002 06:47 schreef ddc het volgende:

[..]

Daar hebben ze een woord voor bedacht: cache.
yeps, en daar gaat ik me servertje nu voor optimaliseren :D

Verwijderd

http://www.phpbuilder.com/columns/

staan wel een aantal nuttige artikelen bij.. :)
Pagina: 1