Andy: PHP Seite schneller laden?

Hallo User!
Ich mein schonmal gelesen zu haben das ich dem Server sagen kann ab jetzt brauchst du nicht mehr nach PHP befehlen suchen.
Dadurch würde die Seite dann doch auch viel schneller geladen.
Die ersten 50 Zeilen sind bei mir nur PHP Befehle die Restlichen 3000 Zeilen dann nicht mehr.
Was für einen PHP Code muss ich dafür einsetzen?

  1. Hallo Andy,

    Ich mein schonmal gelesen zu haben das ich dem Server sagen kann ab jetzt brauchst du nicht mehr nach PHP befehlen suchen.
    Dadurch würde die Seite dann doch auch viel schneller geladen.

    Nein, das würde nicht wirklich viel ausmachen. IMHO.

    Die ersten 50 Zeilen sind bei mir nur PHP Befehle die Restlichen 3000 Zeilen dann nicht mehr.
    Was für einen PHP Code muss ich dafür einsetzen?

    Du müsstest die Datei in zwei Teile auftrennen, beispielsweise a.php und a.html. In a.php stehen dann Deine 50 Zeilen PHP-Code. Am Ende von a.php machst Du dann folgendes:

    readfile ('a.html');

    Das liest 'a.html' ein und gibt sie direkt aus, ohne dass nach PHP-Code darin gesucht wird. Allerdings wage ich zu bezweifeln, dass das wirklich viel ausmacht...

    Viele Grüße,
    Christian

    1. Okay dann lass ich es besser.
      Trotzdem danke.

  2. Hallo, Andy!

    Ich mein schonmal gelesen zu haben das ich dem Server sagen kann ab jetzt brauchst du nicht mehr nach PHP befehlen suchen.
    Dadurch würde die Seite dann doch auch viel schneller geladen.
    Die ersten 50 Zeilen sind bei mir nur PHP Befehle die Restlichen 3000 Zeilen dann nicht mehr.

    ein derartiger code ist mir nicht bekannt.
    allerdings erreichst du durch die richtige verwendung von single- und doublequotes einen erheblichen geschwindigkeitsgewinn.

    alle zeichenketten, in denen keine noch zu ersetzenden php-variablen sind, sollten in singlequotes eingeschlossen werden:
      echo 'das ist ein test';
      echo 'das ist der '.$counter_number.'. test';

    das ist wesentlich schneller, als:
      echo "das ist der $counter_number. test";
    ,weil zeichen in singlequotes nicht geparst werden.
    du musst dort also auch keine zeichen maskieren, wie du es innerhalb von doublequotes machen musst.

    alle html-passagen, die statisch sind (immer verwendet werden), solltest du garnicht mit php (echo, print) ausgeben, sondern den php bereich davor beenden und danach wieder neu anfangen:
    ...
    ?>
      <table class="long_pure_html_data">
      [...]
      </table>
      <hr>
    <?php
    ...

    freundl. Grüsse aus Berlin, Raik

    --
    die Schläge, die Du bereitwillig hinnimmst, werden Dir eine größere Hilfe im Leben sein, als die, die Du für ungerechtfertigt ablehnst; denn einestages wirst auch Du die Fürsorge und Hilfe darin erkennen.
    (c)XaraX http://forum.de.selfhtml.org/archiv/2004/4/77523/#m447546
    1. Hi!

      allerdings erreichst du durch die richtige verwendung von single- und doublequotes einen erheblichen geschwindigkeitsgewinn.

      Also ob ich das "erheblich" bezeichnen würde... naja ;-)

      alle zeichenketten, in denen keine noch zu ersetzenden php-variablen sind, sollten in singlequotes eingeschlossen werden:
        echo 'das ist ein test';
        echo 'das ist der '.$counter_number.'. test';

      das ist wesentlich schneller, als:
        echo "das ist der $counter_number. test";

      Hast Du das mal gemessen? Sicher wäre ich mir da in diesem Fall nicht!
      (AFAIK ist es in Perl z.B. nicht so)

      Prinzipiell hast Du zwar Recht mit dem was Du da schreibst, aber auf "normale" PHP-Anwendungen wird das keinen merklichen Effekt haben, die Unterschiede bewegen sich im Millisekunden-Bereich - wenn überhaupt.
      Es gibt Bereiche wo sich _erheblich_ Last sparen lässt, z.B.

      http://php.weblogs.com/tuning_apache_unix
      http://aktuell.de.selfhtml.org/artikel/server/apachetuning/

      Grüße
      Andreas

      1. Hallo Andreas,

        Hast Du das mal gemessen?

        Ich schon. </archiv/2003/8/54141/>

        Viele Grüße,
        Christian

        1. Hi Christian!

          Hast Du das mal gemessen?

          Ich schon. </archiv/2003/8/54141/>

          Aha, hab ich ja gar nicht mitbekommen... tse,tse... (oder hast Du das nachträglich ins Archiv geschmuggelt? ;-))

          Ich weiß nur, dass Philipp Hasenfratz mal sowas für Perl gemessen hatte, und das was ich davon behalten habe ist dass "bla" langsamer war als 'bla', aber "bla $var bla" schneller als 'bla '.$var.'bla' ... wenn ich mich richtig erinnere ;-)

          Aber gut zu wissen dass Du mal für PHP gemessen hast. Ich denke es gibt hier durchaus Unterschiede - nur sind die so klein, dass sie sich nichtmal so ohne weiteres messen lassen. Ich versuche mich zwar auch danach zu richten, aber im Endeffekt sollte man wohl die Syntax nehmen die einem einfach am besten gefällt. Performance ist an anderer Stelle zu holen.

          Grüße
          Andreas

          1. Hallo Andreas,

            (oder hast Du das nachträglich ins Archiv geschmuggelt? ;-))

            Pssst. ;-)

            Ich denke es gibt hier durchaus Unterschiede

            Siehe den Thread. ;-)

            • nur sind die so klein, dass sie sich nichtmal so ohne weiteres messen lassen. Ich versuche mich zwar auch danach zu richten, aber im Endeffekt sollte man wohl die Syntax nehmen die einem einfach am besten gefällt. Performance ist an anderer Stelle zu holen.

            Hängt von der Anzahl an Zeichenketten ab, die man in einer Datei hat. Bei einer Million wird es schon problematisch. Wobei " und ' keinen Unterschied machen (zumindest keinen selbst bei riesigen Mengen messbaren), aber "Hallo, $user!" ist deutlich langsamer (Faktor 3, wenn ich mich recht erinnere, bin jetzt zu faul, meinen Thread nochmal zu lesen), als "Hallo, ".$user."!" oder 'Hallo, '.$user.'!'.

            Viele Grüße,
            Christian

            1. Hallo, Christian!

              kann denn jemand eine aussage dazu machen, welche sprachen wie schnell sind?
              php, perl, java/jsp, etc.
              nach meinen infos ist php an sich sowieso schon sehr langsam, weshalb es sich auch nicht gerade für grössere projekte eignet.
              java/jsp soll viel schneller sein.

              ich hab mal einen auftrag bekommen, mit php xml-quelltexte zu parsen.
              der auftraggeber hatte eine eigene syntax entwickelt, um web-anwendungen schnell erstellen zu können (in java/jsp),
              hatte aber diese nie dokumentiert.
              dabei hat das erste einlesen und bearbeiten der vorhandenen quelltexte schon fast eine minute gedauert.
              durch verschiedene optimierungen bin ich später auf ca. 40 sekunden gekommen.
              ob eine seite in 0,9 oder 0,3 sekunden ausgeliefert wird, ist natürlich erst mal uninteressant, aber wenn der server mit genügend anfragen bombardiert wird, macht es dann schon einen unterschied.

              freundl. Grüsse aus Berlin, Raik

              --
              die Schläge, die Du bereitwillig hinnimmst, werden Dir eine größere Hilfe im Leben sein, als die, die Du für ungerechtfertigt ablehnst; denn einestages wirst auch Du die Fürsorge und Hilfe darin erkennen.
              (c)XaraX http://forum.de.selfhtml.org/archiv/2004/4/77523/#m447546
  3. Hallo, Andy,

    lieferst Du die Seiten mit gzip komprimiert aus?

    Prinzipieller Aufruf mit ...
    ob_start("ob_gzhandler");

    Es gibt auch fertige Klassen mit allen möglichen Optionen, z.B. ...
    http://leknor.com/code/php/view/class.gzip_encode.php.txt

    Dadurch kann man in manchen Fällen (viel redundanter Code, z.B. wiederkehrende Tabellen wie in diesem Forum) die Dateigröße um über 90% reduzieren und normalerweise um über 50%.

    http://forum.de.selfhtml.org/archiv/2004/4/77634/

    Grüße,

    Sebastian