Ankündigung

Einklappen
Keine Ankündigung bisher.

php5 braucht 4 mal so lange wie php4?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php5 braucht 4 mal so lange wie php4?

    Ich bin gerade an einem Projekt dran und um mich zu entscheiden ob ich auch php5 oder php4 Proggen möchte. Habe ich ein paar Benchmarks gefahren.
    Dazu habe ich nen Debian Server aufgesetzt. Apache drauf, mysql drauf php4 drauf.

    Dann ein paar Scripte drauf und getestet mit ab (ApacheBenchmark) Dann habe ich mir nen php5 compiliert und ein kleines Script geschrieben, mit dem ich in wenigen Sekunden php4 gegen 5 tauschen kann und zurück. Bei den meisten Seiten die ich getestet habe, ist php5 um die 20-40% langsamer. Bei einer Seite jedoch kippt es soweit, dass php4 30ms und php5 120ms braucht.

    Ich bin noch nicht ganz soweit, dass ich weiß was das nun im Endeffekt für das Katastrophale Ergebnis sorgt, aber in meinen Augen ist unter den Bedingungen ein Einsatz von php5 gestorben.

    Habt ihr ähnliche Erfahrungen gemacht?

  • #2
    Nein, das kann ich nicht nachvollziehen. Bei mir läuft PHP5 auf einem Server mit SuSE einwandfrei und nicht langsamer als vorher PHP 4.

    Gruß
    phpfan

    Kommentar


    • #3
      So habe das mal weiter nachvollzogen. Das Problem sind die Datefunktionen.

      Die ziehen die Scriptzeit nach oben. Hast du eventuell mal ne conf für mich? Vielleicht habe ich da nen Wurm drin, aber kann ich mir kaum vorstellen.

      Hier mal ein paar Zwischenschritte:

      mit php4:

      Zeit nach timestamp = 0,01379
      Zeit nach time = 0,014054
      Zeit nach sqloncalluser = 0,015992
      Zeit nach Sqlholiday = 0,016194
      Zeit nach calconcalltimes = 0,022596
      Zeit nach calcusertime = 0,023243
      Zeit nach calcuseroncalldays = 0,027528

      mit php5:

      Zeit nach timestamp = 0,022039890289307
      Zeit nach time = 0,022831916809082
      Zeit nach sqloncalluser = 0,03052806854248
      Zeit nach Sqlholiday = 0,030695915222168
      Zeit nach calconcalltimes = 0,092051029205322
      Zeit nach calcusertime = 0,092715978622437
      Zeit nach calcuseroncalldays = 0,12090396881104

      Man beachte den Sprung von 60ms bei calconcalltimes


      So noch ein sehr einfaches Script, das jeder testen kann

      PHP-Code:
      <?php for ($i=0;$i<=1000;$i++) $foo=date('y',12345678);?>
      Dabei ist das Ergebniss niederschmetternd...

      php5 braucht 71,5ms
      php4 gerade mal 4,7ms

      Kommentar


      • #4
        Zitat von CC84
        Dabei ist das Ergebniss niederschmetternd...

        php5 braucht 71,5ms
        php4 gerade mal 4,7ms
        Hast Du die ini-Direktive date.timezone gesetzt bzw. verwendest Du die
        Funktion date_default_timezone_set() zum Setzen der Zeitzone?

        Wenn nicht, hält sich die 5-er Version hier vermutlich mit der Fehlerbehand-
        lung auf, die Du bei Verwendung des Fehlerlevels E_STRICT auch zu Gesicht
        bekommen solltest.

        Kommentar


        • #5
          Zitat von karl-150
          Zitat von CC84
          Dabei ist das Ergebniss niederschmetternd...

          php5 braucht 71,5ms
          php4 gerade mal 4,7ms
          Hast Du die ini-Direktive date.timezone gesetzt bzw. verwendest Du die
          Funktion date_default_timezone_set() zum Setzen der Zeitzone?

          Wenn nicht, hält sich die 5-er Version hier vermutlich mit der Fehlerbehand-
          lung auf, die Du bei Verwendung des Fehlerlevels E_STRICT auch zu Gesicht
          bekommen solltest.
          Ok danke, habe ich natürlich nicht gesetzt. Aber dann die Frage wie muss ich sie setzen, damit der die Sommerzeit berücksichtigt. Also quasi ist das ja MEZ / MESZ

          OK gefunden Europe/Berlin

          Macht die Sache aber immer noch relative langsam.

          php4 ~5
          php5 ~10,5

          Kommentar

          Lädt...
          X