Pia: Riesendateien Performance erhöhen

Hi,

ich experimentiere gerade ein wenig rum, also bitte nicht Sinnn oder
Unsinn des ganzen diskutieren.

Bei einem Experiment wollte ich mal wissen, was passiert eigenlich
mit grossen PHP-Dateien und wie gross sollte eine Datei maximal sein.

Mir ist zum Beispiel aufgefallen, dass es im Netz durchaus Scripte
gibt, die schon ein paar hundert kb gross sind.

Also habe ich mir gedacht, wenn ich ein File erstelle,
dass ein paar MB gross ist dürfte das doch kein Problem sein.

Erst recht nicht wenn ich dann noch den grössten Teil auskommentiere,
so dass PHP nichts zu parsen hat.

Der Versuch:

Ich habe eine PHP Datei erstellet die 5 MB gross ist.
Sie besteht aus:

################################
<?php
/*
ZGllcyBpc3QgZWluIHRlc3Q=ZGllcyBpc3QgZWluIHRlc3Q=ZGll
usw.......
*/
echo '<h1>EOF</h1>';
?>
################################

Was also im Browser ankommt ist lediglich 12 Byte gross.

Dennoch muss ich etliche Sekunden warten bis diese Seite angezeigt
wird, weil entweder Apache oder PHP damit so lange beschäftigt ist.

Wieso? Meine Theorie dazu war, dass PHP das meisste ignoriert wegen
der auskommentierung und so auch nicht ernsthaft ausgelastet wird.
Ja sozusagen die Datei wie eine Minidatei aus ein paar Zeilen behandelt.

Fragen:

1. Wieso stimmt meine Theorie nicht?

2. Gibt es dennoch eine Möglichkeit auch schier megagrosse
Dateien gemäss meiner Theorie von PHP behandeln zu lassen?

carpe diem
Pia

  1. Hallo Pia.

    Ich habe eine PHP Datei erstellet die 5 MB gross ist.
    Sie besteht aus:

    ################################
    <?php
    /*
    ZGllcyBpc3QgZWluIHRlc3Q=ZGllcyBpc3QgZWluIHRlc3Q=ZGll
    usw.......
    */
    echo '<h1>EOF</h1>';
    ?>
    ################################

    Was also im Browser ankommt ist lediglich 12 Byte gross.

    Dennoch muss ich etliche Sekunden warten bis diese Seite angezeigt
    wird, weil entweder Apache oder PHP damit so lange beschäftigt ist.

    Wieso? Meine Theorie dazu war, dass PHP das meisste ignoriert wegen
    der auskommentierung und so auch nicht ernsthaft ausgelastet wird.
    Ja sozusagen die Datei wie eine Minidatei aus ein paar Zeilen behandelt.

    Der Parser muss dennoch den geöffneten Kommentar nach der schließenden Zeichenkette „*/“ durchsuchen. Bei so riesigen Kommentaren kann das schon ein wenig dauern.

    Einen schönen Sonntag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
    1. Hello,

      Der Parser muss dennoch den geöffneten Kommentar nach der schließenden Zeichenkette „*/“ durchsuchen. Bei so riesigen Kommentaren kann das schon ein wenig dauern.

      Das dauert Microsekunden.
      Es dauert aber Millisekunden, die Datei von der Platte in den RAM zu bewegen.
      Und wenn der knapp ist, werden auch noch Wartezyklen fällig, bis genügend Platz ist für das Script und seine Arbeitsumgebung.

      Bis ca. 1MB läuft alles noch ziemlich schnell ab, darüber wird es plötzlich langsam.
      Dieses Verhalten haben schon mehrere Leute quer durch die Installationen und Versionen festgestellt. Es ist also scheinbar irgenwie in PHP begründet.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau