carefree
Goto Top

Problem mit PHP-Ausführungszeit

Hallo zusammen,

in einem Netzwerk befindet sich folgender Server:

- Linux 2.6 (openSUSE 10.3),
- Apache 2.2.4,
- PHP 5.2.5,

sowie mehrere Clients.


Folgendes PHP-Script wird ausgeführt:
<?php
$time_start = getmicrotime();
print "Hallo Welt<br>";  
for($i=0;$i<100000;$i++){
 print ".";  
}
$time_end = getmicrotime();
$time = round($time_end - $time_start,4);
echo "Seite in ".$time." Sekunden generiert";  

function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());  
return ((float)$usec + (float)$sec);
}
?>
Das Script wird mehrmals direkt auf dem Server und einem Client ausgeührt.
Die Ergebnisse sind in Ordnung für den Server, aber erschütternd für den Client!


DURCHSCHNITTLICHE ERGEBNISSE BEI 5 AUSFÜHRUNGEN:

1. Server-Ausführung: 0,03284 Sekunden
2. Client-Ausführung: 0,33632 Sekunden

Warum ist PHP auf dem Client nur so verdammt langsam???

Die Ausführungszeit ist 10mal länger als die des Servers.

Das Script wurde vom Client direkt mit der IP-Adresse des Servers aufgerufen.


Bitte um mögliche Theorien, besser noch Lösungsvoschläge!!!!!


Gruß
Carefree

Content-ID: 79570

Url: https://administrator.de/contentid/79570

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

masterG
masterG 30.01.2008 um 17:28:09 Uhr
Goto Top
Hi! Bitte nach PHP verschieben!
Carefree
Carefree 30.01.2008 um 17:33:51 Uhr
Goto Top
Schon geschehen. Danke!

Dachte, es könnte ein Server-Problem sein!
Masterofdisaster2
Masterofdisaster2 30.01.2008 um 18:57:27 Uhr
Goto Top
Hast du denn schon mal dran gedacht, dass eventuell die Übertragung übers Netz was damit zu tun hat?
Carefree
Carefree 31.01.2008 um 09:25:47 Uhr
Goto Top
Daran habe ich natürlich auch schon gedacht, jedoch beginnt die Messung erst dann, wenn das Script übertragen wurde, nicht wenn es abgerufen wird.

Ein ähnlich konfigurierter Server im gleichen Netzwerk führt das Script ebenfalls deutlich schneller aus.
Masterofdisaster2
Masterofdisaster2 31.01.2008 um 12:53:13 Uhr
Goto Top
Hast du denn die Möglichkeit das noch mit anderen Clients zu testen?
Carefree
Carefree 31.01.2008 um 17:18:16 Uhr
Goto Top
Habe mit mehreren Clients getestet.
Die Ergebnisse sind alle ähnlich schlecht!
61534
61534 17.02.2008 um 21:23:03 Uhr
Goto Top
Bei mir war's ein Serverproblem face-wink Die Symptome waren jedenfalls genau die selben.

Der Prozessor wurde von cpufreq heruntergeregelt:

lsmod | grep cpufreq
cpufreq_ondemand 9484 0

Ein
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
behob das Problem.

Vorher war der scaling governor auf
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand

gesetzt.

HTH Christoph