[PHP] Simpel stukje code is extreem traag *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • McTelekoocies
  • Registratie: Juli 2003
  • Laatst online: 17-01-2024

McTelekoocies

Hooft Rijstebreier

Topicstarter
PHP:
1
2
3
4
5
6
7
...
for ($i=1; $i<32; $i++)
{
if ($i==$_POST_HTMLRDY['pers_birthday']) echo "<option selected>"; else echo "<option>";
echo $i;
}
...

Het genereert een selectbox met nummer 1 t/m 31 met het nummer dat onthouden is ($_POST_HTMLRDY[]) geselecteerd.

Dit loopje alleen al kost 0.65 seconden om volledig te doorlopen, ligt dit aan mij of is dit belachelijk lang voor zoiets simpels. :?

Er zijn nog een paar andere loopjes die gewoon veel te lang duren, dit was nog de simpelste...

Ook vanaf andere pc's de pagina oproepen duurt net zo lang, het is dus niet de combinatie webbrowser / webserver die mn cpu verteren ofzoiets. Zodra ik de pagina oproep heeft de hd gedurende de 7seconden die het kost om te laden ineens veel te doen. De enige database query duurt 0.0013 s, het verwerken van de info (250x 50byte + 2byte strings) duurt ruim 5 seconden.

Er is tijdens het oproepen van de pagina niet merkbaar meer cpu load. Andere programma's bezorgen ook geen load. Het afsluiten van alle andere background shit had dan ook geen enkel effect (duh). Ook vlak na een reboot waarbij ik geen onzin liet laden ging het niet sneller.

Ik gebruik
-Apache 2.0.48
-PHP 4.3.4
-WinXP Pro (sp1)
op een Amd 2500+ / 512DDR die verder alles snel doet

De instellingen van apache en php zijn nagenoeg de default settings, httproot is aangepast en php heb ik moeten toevoegen aan de apache conf. Misschien zit hier iets verkeerd in??

Het lijkt mij dat de hd de vertraging veroorzaakt, maar ik heb geen enkel idee waarvoor de hd ineens zo hard gebruikt wordt, zou alles misschien via de pagefile gebeuren ipv het geheugen?? Het geheugen zelf is iig nog lang niet vol. =/

:|

[ Voor 3% gewijzigd door McTelekoocies op 11-03-2004 18:33 . Reden: [php] tags toegevoegd ]

What Happen?!?


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

Brak geheugen? Koe op je pc draaien?

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • McTelekoocies
  • Registratie: Juli 2003
  • Laatst online: 17-01-2024

McTelekoocies

Hooft Rijstebreier

Topicstarter
Geheugen is corsair pc2700 spul (dual channel), nooit problemen mee gehad. Pc is op geen enkel ander front traag dus ik betwijfel of het aan de hardware ligt.

What Happen?!?


Acties:
  • 0 Henk 'm!

Verwijderd

Memory vol?
Buffer vol?
apache restarten?
even op internet zetten

Doe je niet per ongeluk een assignment aan $i ergens anders.

Acties:
  • 0 Henk 'm!

  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 06:21
S3v3n_0f_n1n3 schreef op 11 maart 2004 @ 18:10:
Brak geheugen? Koe op je pc draaien?
de koe maakt geen verschil bij het uitvoeren van taken van andere processen omdat deze iddle time gebruikt..

Strava | AP | IP | AW


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Lijkt me niet echt een programmeer probleem. Hoe kom je overigens aan de variable $_POST_HTMLRDY? Is dat een nieuw soort variant op $_POST of heb je het zelf zo verzonnen?

Verder is het wel fijn om [php ] tags [ / php] te gebruiken.

Mischien kun je proberen om die schijf eens te defragmenteren. Ik denk alleen niet dat het veel aan het probleem zal doen. Ik denk dat je het dan bij het opvragen van andere bestanden ook wel merkt of de schijf brak is of niet. Het zelfde geld overigens ook wel voor het geheugen.

Dus als je in de task manager kijkt zie je geen vreemde apps in eens meer cpu tijd vragen? En apache doet ook niet raar?

Je zou kunnen proberen de hele set opnieuw te installeren om te kijken of het dan wel werkt. Heb je al eens geprobeerd om simpel weg de pc opnieuw op te starten? (domme vraag mischien maar je weet maar nooit). En je error.log van apache. Geeft die vreemde waarden na het oproepen van de pagina?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • McTelekoocies
  • Registratie: Juli 2003
  • Laatst online: 17-01-2024

McTelekoocies

Hooft Rijstebreier

Topicstarter
Michali schreef op 11 maart 2004 @ 18:18:
Lijkt me niet echt een programmeer probleem. Hoe kom je overigens aan de variable $_POST_HTMLRDY? Is dat een nieuw soort variant op $_POST of heb je het zelf zo verzonnen?
$_POST_HTMLRDY is een eigen bewerking van $_POST (htmlspecialchars)...dit loopje doet hij vreemd genoeg binnen 1ms
Verder is het wel fijn om [php ] tags [ / php] te gebruiken.
zal ik de volgende keer doen ;]
Mischien kun je proberen om die schijf eens te defragmenteren. Ik denk alleen niet dat het veel aan het probleem zal doen. Ik denk dat je het dan bij het opvragen van andere bestanden ook wel merkt of de schijf brak is of niet. Het zelfde geld overigens ook wel voor het geheugen.

Dus als je in de task manager kijkt zie je geen vreemde apps in eens meer cpu tijd vragen? En apache doet ook niet raar?

Je zou kunnen proberen de hele set opnieuw te installeren om te kijken of het dan wel werkt. Heb je al eens geprobeerd om simpel weg de pc opnieuw op te starten? (domme vraag mischien maar je weet maar nooit). En je error.log van apache. Geeft die vreemde waarden na het oproepen van de pagina?
!!! :D thx a lot, de error.log zit vol met undefined variable blabla, ook kom ik er net achter dat de pagina wel binnen 0.08s laadt wanneer ik dingen post, ik zal zelf eerst wel ff verder zoeken...

thx [=

What Happen?!?


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
ik zal zelf eerst wel ff verder zoeken...
...naar error reporting op E_ALL zetten op je dev-bak.

Acties:
  • 0 Henk 'm!

  • McTelekoocies
  • Registratie: Juli 2003
  • Laatst online: 17-01-2024

McTelekoocies

Hooft Rijstebreier

Topicstarter
Error reporting stond al in php.ini op E_ALL (daar had ik dan nog wel aan gedacht ;)), ik kreeg alleen in de apache error log steeds een "PHP Notice: Undefined variable: ". Bij het gewoon aanroepen van de pagina krijg je deze niet te zien. Pas in de errorlog van apache kwam ik er achter.

:)

What Happen?!?


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Nu online

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Webgnome schreef op 11 maart 2004 @ 18:17:
[...]


de koe maakt geen verschil bij het uitvoeren van taken van andere processen omdat deze iddle time gebruikt..
Dit is niet helemaal waar. Draai jij maar eens een game en een koe. Durf te wedden dat je game heel brak loopt ;).

Heb je een typo gemaakt of klopt je if statement echt niet? Volgens mij is die if statement namelijk fout :).

[ Voor 13% gewijzigd door We Are Borg op 11-03-2004 19:48 ]


Acties:
  • 0 Henk 'm!

  • woest85
  • Registratie: Juli 2003
  • Niet online

woest85

[Ondertitel]

We Are Borg schreef op 11 maart 2004 @ 19:46:
[...]


Dit is niet helemaal waar. Draai jij maar eens een game en een koe. Durf te wedden dat je game heel brak loopt ;).

Heb je een typo gemaakt of klopt je if statement echt niet? Volgens mij is die if statement namelijk fout :).
ik kan gwn cs'en zonder probs als koe draait hoor....

[Signature]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
initialiseer $i eens... Meteen voor de loop.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Grijze Vos schreef op 11 maart 2004 @ 20:46:
initialiseer $i eens... Meteen voor de loop.
Waarom zou je dat doen? hij wordt toch al geinitialiseerd in het for statement? ($i=1)

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
PrisonerOfPain schreef op 11 maart 2004 @ 21:15:
[...]

Waarom zou je dat doen? hij wordt toch al geinitialiseerd in het for statement? ($i=1)
oh ja :) Zat met gedachten bij een while loop..

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • McTelekoocies
  • Registratie: Juli 2003
  • Laatst online: 17-01-2024

McTelekoocies

Hooft Rijstebreier

Topicstarter
Voor degene die het nog niet door hadden:
Het lag aan het feit dat ik variabelen probeerde te lezen die niet bestonden (als er geen data gepost was), het kostte blijkbaar erg veel tijd om 350 keer te realiseren dat iets niet bestond :p .
Probleem is dus nu gefixxed met wat extra isset() checkjes [=

Thx voor de reacties (and thx michali voor de error.log suggestie ;))

[McT out]

What Happen?!?

Pagina: 1