FOPEN dauert Ewig |
KeyLF
Forenheld Threadstarter
Beiträge: 866 |
Wieso dauert folgende Funktion im Netz ca. 25 Sekunden und Local nur 1 Sekunden?
1:
2:
3:
4:
5:
6:
7:
8: |
$data = fopen("http://www.blablabla.de/cf.js", "r");
$inhalt = fread($data, "10000");
fclose($data);
echo "$inhalt";
?>
|
Die URL ist dabei egal...
Diese Nachricht wurde geändert von: KeyLF |
 Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
weil der server die datei aufruft (per www) und dann den geparsten inhalt ließt.
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
KeyLF
Forenheld Threadstarter
Beiträge: 866 |
das heißt? (Deutsch: geparsten??)
Diese Nachricht wurde geändert von: KeyLF |
 Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
...übersetzten inhalt...
ergo:
1. datei aufrufen
2. warten bis er empfangen wurde
3. in php einbauen
---
Arbeit ist das Feuer der Gestaltung. - Marx
Diese Nachricht wurde geändert von: Philipp Gérard |
 Profil
E-Mail
Website
Editieren
Zitieren
|
KeyLF
Forenheld Threadstarter
Beiträge: 866 |
aber warum dauert das so lang? ca. 10 Zeilen hat die js Datei.. wie gesagt local... nichtmal 5 Sekunden im Netz über 20... das kann doch nicht ganz ok sein oder?! Woran kann das liegen?
|
 Profil
Editieren
Zitieren
|
Ehemaliges Mitglied (#1460)
Posting-Schinder
Beiträge: 609 |
Das kann auch an der Auslastung des Web-Servers liegen.
Das kann auch an einer schlechten Verbindung zwischen Dir und dem Server liegen.
Das kann sonstwas sein!
Wenn es bei Dir schnell geht, ist anzunehmen, dass kein Fehler drin ist, der das Script unnötig langsam macht.
|
 Profil
Editieren
Zitieren
|
KeyLF
Forenheld Threadstarter
Beiträge: 866 |
Die Verbindung ist sehr gut... zwischen den Servern auch...
keiner eine Idee? Oder besser... das Wissen?!
|
 Profil
Editieren
Zitieren
|
Ehemaliges Mitglied (#1460)
Posting-Schinder
Beiträge: 609 |
Was sagt Dein Provider?
|
 Profil
Editieren
Zitieren
|
KeyLF
Forenheld Threadstarter
Beiträge: 866 |
der bin ich selber!
|
 Profil
Editieren
Zitieren
|
recently
Pixelschubser
Beiträge: 3 |
Hallo,
eine Antwort auf diese Frage würde mich auch interessieren. Bei mir dauert so ein Aufruf 5 Sekunden. Es liegt aber nicht am Netzwerk-Zugriff, das Ergebnis der Anfrage wird "sofort" angezeigt. Die Zeit vergeht erst dann, wenn der php-Aufruf beendet wird, da ist php wegen dem fopen furchtbar lange mit irgendetwas beschäftigt. Warum nur ?
ps: ich rufe das php-script von der Kommdozeile auf. Das Ergebnis wird sofort ausgegeben, aber dann dauert es 5 Sekunden, bis der Kommadozeilen-Prompt wieder sichtbar ist.
Diese Nachricht wurde geändert von: recently |
 Profil
E-Mail
Editieren
Zitieren
|
recently
Pixelschubser
Beiträge: 3 |
Auch das dauert lästige 5 Sekunden:
1:
2:
3:
4: | echo "start\n";
$fp = @fsockopen("192.168.0.123",1234);
fclose($fp);
echo "fertig\n"; |
"start" und "fertig" erscheinen sofort. Aber bis das php-script beendet wird, vergehen wieder 5 Sekunden.
ps: die Adresse existiert tatsächlich auf meinem Netzwerk, ist ein netio230 von Reichelt
Diese Nachricht wurde geändert von: recently |
 Profil
E-Mail
Editieren
Zitieren
|
Ori
Mausakrobat
Beiträge: 162 |
Die Ausgabe sofort abgeschlossen ist, funktioniert doch alles wie gewünscht. Manche Programme brauchen etwas Zeit, bis sie beendet sind. PHP gehört wohl dazu - es wird im Produktiveinsatz üblicherweise mit anderen Programmen betrieben, die sich um das Starten und Beenden von PHP kümmern.
Unterm Strich: Es ist offenbar ein Problem mit der Kommandozeilenvariante - das keine Auswirkungen auf die Ausgabe, die Geschwindigkeit oder das Verhalten hat.
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
recently
Pixelschubser
Beiträge: 3 |
muss man antworten, wenn man nichts zu sagen hat ?
Das ist ja schon fast Politiker-BlaBla ! Im "Produktiveinsatz", was für ein Brüller !
... so, nun regt euch auf !
ps: gerade wenn es mit anderen Programmen zusammenarbeitet, nervt das 5s - Warten gewaltig ....
Diese Nachricht wurde geändert von: recently |
 Profil
E-Mail
Editieren
Zitieren
|
Ori
Mausakrobat
Beiträge: 162 |
Das gleiche gilt natürlich auch für dich. Für die Fachbegriffe kann ich nichts. Das Aufrufen von PHP ist normalerweise nicht dein Problem.
Aber da du sicher der Lösung schon allein auf den Grund gehen wolltest, hast du ja diese Fragen bestimmt schon geklärt:
1. Passiert das auch bei PHP-Skripten, die sich mit fsockopen zu 127.0.0.1 verbinden?
2. …, die ein Url-fopen statt fsockopen benutzen?
3. …, die einfach fopen mit einer lokalen Datei benutzen?
4. …, die andere Fernzugriffsbibliotheken benutzen (z.B. curl)?
5. …allen PHP-Skripten?
6. …jeweils bei Aufruf durch einen Webserver? (Jaja, schwer zu messen. Dreh halt die Einstellungen des fcgi-spawners runter und behalt die Prozesse im Auge. Verlangsame das evtl. durch Einsatz von sleep().)
PS: @ ist böse und macht alles langsam. Bau lieber eine ordentliche Fehlerbehandlung ein.
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
frieger
Pixelschubser
Beiträge: 3 |
Ori,
Danke für die aufschlussreiche Erklärung. Kann gar nicht verstehen worin "recently" da Politiker-Blabla erkannt haben will.
Mit hats jedenfalls geholfen.
|
 Profil
Editieren
Zitieren
|