php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 03-01-2008, 21:11
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zeit optimieren: fsockopen | fgets

Hallo,
ich habe mal bei mein Script die Zeit gemessen. Die ein Klasse hatte ich glaube ich auch von den Scriptschnipseln und mir viel da was auf.
Der folgende Schnipsel dauert bei mir immer über 0,07 Sekunden.
Ich finde das ganz schön viel.
PHP-Code:
        $this->_fp fsockopen(($this->_protocol == 'https' 'ssl://' '') . $this->_host$this->_port); // fetch        
        
$response  ""
        if (
is_resource($this->_fp)) {
            
fputs($this->_fp$req);
            while(!
feof($this->_fp)) $response .= fgets($this->_fp,4096);   
            
fclose($this->_fp);                             
        } 
Die meiste Zeit ca. 90 / 95 % hält sich hier auf:

while(!feof($this->_fp)) $response .= fgets($this->_fp,4096);

Kann man das nicht irgendwie optimieren, das es schneller läuft?
__________________
Gut geraten ist halb gewußt.

Geändert von martinm79 (04-01-2008 um 09:55 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 03-01-2008, 22:00
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Wie schnell reagiert denn der Host, zu dem du da eine Verbindung herstellst?
Mit Zitat antworten
  #3 (permalink)  
Alt 04-01-2008, 09:13
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie meinst du das genau? Also mit nem Ping komm ich auf 22 ms.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #4 (permalink)  
Alt 04-01-2008, 09:20
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Na wenn der fremde Host 0,7s zum Antworten braucht kann dein Skript schon mal nicht schneller sein...

Ping != Service-Anfrage
Mit Zitat antworten
  #5 (permalink)  
Alt 04-01-2008, 12:12
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das script geht ja nun jede Zeile durch.

fputs($this->_fp, $req);
while(!feof($this->_fp)) $response .= fgets($this->_fp,4096);
fclose($this->_fp);

Also würde es ja auch was bringen wenn ich den HTML Quellcode ohne Zeilenumbrüche sende?
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #6 (permalink)  
Alt 04-01-2008, 12:15
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Also würde es ja auch was bringen wenn ich den HTML Quellcode ohne Zeilenumbrüche sende?
Oder du fread verwendest!
Mit Zitat antworten
  #7 (permalink)  
Alt 04-01-2008, 12:20
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Der Sender ist auch von dir?
Mit Zitat antworten
  #8 (permalink)  
Alt 04-01-2008, 12:57
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, fread stand vorher drinne. Ich habe fgets genommen weil ich das testen wollte, aber die zeit blieb gleich.
In wie weit ist fread besser? Ein großen Unterschied hatte ich Zeitlich nicht bemerkt.
Aber kann ich ja wieder nehmen.

Ja, der Sender bin ich. Also dahin, wohin fsockopen verbindet, das bin ich.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #9 (permalink)  
Alt 04-01-2008, 13:00
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

fread ließt nicht nur zeilenweise!
Miss doch mal die Zeit für einige wenige Byte und schau dir das Ergebnis an.
PHP-Code:
$time = array();
while(!
feof($this->_fp)) {
    
$start microtimetrue );
    
$response .= fgets($this->_fp100 );
    
$time[] = microtimetrue ) - $start;

Würde mich mal interessieren, wie das zeitlich verläuft. Vielleicht kann man ausmachen, ob der Server bei der ersten Anfrage recht lange benötigt oder die durchschnittliche Übertragung einfach entsprechend langsam ist.

Geändert von PHP-Desaster (04-01-2008 um 13:03 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 04-01-2008, 13:29
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gute Idee.

Der Code:
PHP-Code:
if (is_resource($this->_fp)) {
    
fwrite($this->_fp$req);
    
$time = array();
    while(!
feof($this->_fp)) {
        
$start array_sum(explode(" ",microtime()));
        
$response .= fread($this->_fp4096); 
        
$time[] = number_format(array_sum(explode(" ",microtime()))-$start6","".");   
    }
    
print_r($time);
    
fclose($this->_fp);                                     

Das Ergenbnis:
PHP-Code:
Array
(
    [
0] => 0,078094
    
[1] => 0,027768
    
[2] => 0,000062

Die meiste Zeit frist ja auch der erste Durchlauf.
Ich wüßte nicht wie ich das noch optimieren könnte.
__________________
Gut geraten ist halb gewußt.

Geändert von martinm79 (04-01-2008 um 13:37 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 04-01-2008, 14:16
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Miss doch bitte auch mal auf Senderseite. Wenn dort zum Beispiel sowas abläuft, ist alles klar.
Code:
sleep(0.7);
writeln();
sleep(0.2);
writeln();
writeln();
Mit Zitat antworten
  #12 (permalink)  
Alt 04-01-2008, 14:40
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Na auf der Senderseite lasse ich mir einfach alles mit echo ohne Zeitverzögerung direkt ausgeben. mhh.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #13 (permalink)  
Alt 04-01-2008, 15:44
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Was denn ausgeben? Es ist doch sicher keine statische Seite sondern ein Script. Ohne sleep(), aber vielleicht mit mysql_query() ...
Mit Zitat antworten
  #14 (permalink)  
Alt 04-01-2008, 16:21
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Achso sorry, jetzt weiß ich worauf du hinaus wolltest.
Also ein Teil ist statisch, ein Teil mysql_query.
Na ich teste auch da mal die Scriptzeit.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:59 Uhr.