Performance

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

  • Performance

    Hallo
    Ich möcht die Performance meiner Website so gut wie möglich haben.
    Was ist dabei zu beachten ?


    Kleine Frage:

    werden IF-Bedingungen, wo der geprüfte wert FALSE ist, trotzdem durchgegangen oder werden sie dann ignoriert?

    Danke

  • #2
    werden IF-Bedingungen, wo der geprüfte wert FALSE ist, trotzdem durchgegangen oder werden sie dann ignoriert?
    Wenn Du fragst, ob mit AND in einem IF-Statement dahinterliegende Abfragen trotzdem geprüft werden: Meines Wissens nein.

    Kommentar


    • #3
      werden IF-Bedingungen, wo der geprüfte wert FALSE ist, trotzdem durchgegangen oder werden sie dann ignoriert?
      Du meinst ob der Code ausgeführt wird WENN die Bedingung nicht erfüllt wird? Hoffentlich nicht sonst müsste ich alle meine Scripts umschreiben
      Wenn du damit aber meinst ob der Parser den Code trotzdem parst, dann ein klares JA. Kannst du einfach testen in dem du in eine Bedingung welche nicht erfüllt wird im folgenden Block mal ein ; am Ende der Zeile weglässt. Ob die Bedingung zutrifft oder nicht juckt den Parser wenig, es ist ein Fehler drin und der wird angemotzt.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Ok das Zweite war gemeint danke.
        Wird das bei PHP6 anders sein?
        Damit würde doch die Performance besser oder ?

        Kommentar


        • #5
          Original geschrieben von Kalli1990
          Ok das Zweite war gemeint danke.
          Wird das bei PHP6 anders sein?
          Ich glaube kaum, da zur Parse-Zeit die Werte ja noch gar nicht zwingend bekannt sind.
          Gruss
          H2O

          Kommentar


          • #6
            Original geschrieben von Kalli1990
            Ok das Zweite war gemeint danke.
            Wird das bei PHP6 anders sein?
            Damit würde doch die Performance besser oder ?
            Vergiß den Quatsch. Die paar Millisekunden hin oder her, und das auch noch auf Kosten sauberen codes. Nee. Laß die Optimierung auf diesem Level (AUßer es geht um mehrere hunderttausend solcher Abfragen) und konzentrier dich auf wichtige Optimierungsmöglichkeiten. Das sind namentlich Caching (in Verbindung mit einer Template-Engine), optimierte Datenbankabfragen, saubere Dateioperationen und vorkompilierter Code wie z.B. mit dem Zend Optimizer.

            Wenn Du mehr Infos willst, mußt Du uns schon etwas konkretere Informationen liefern, und genauere Fragestellungen und was du vorhast.

            Kommentar


            • #7
              Ok ich habe mir was angeschaut aber nicht so ganz verstanden.

              das hier:
              PHP-Code:
              <?php
              //der Dateiname wird ohne die Endung "php" extrahiert:
              $filenamebasename($PHP_SELF,"php");
              //nun wird nachgeschaut, ob schon die entsprechende Chachedatei im Cacheverzeichnis existiert:
              if (file_exists("my_cache/".$filename."html")) {
              //wenn sie existiert, leitet die folgende Zeile den Request auf die Cachedatei um
              header("Location:my_cache/".$filename."html");
              } else{
              //wenn sie aber noch nicht existiert, wird in der nächsten Zeile ein 
              //Output-Buffer gestartet, in dem der gesamte Inhalt gespeichert (gepuffert) wird, ohne ihn zunächst auszugeben
              ob_start();
              ?>
              hier folgt nun der zu cachende Inhalt
              <html>
              <body>
              hier liegen jede Menge Datenbankabfragen etc.
              </body>
              </html>
              <?php
              //der Inhalt des Puffers wird in $content abgelegt
              $content=ob_get_contents();
              //eine Datei mit dem Namen "$filename.cache" wird im Cacheverzeichnis angelegt
              $fh=fopen ("my_cache/".$filename."cache""w");
              //der Pufferinhalt wird in diese Datei geschrieben
              fputs $fh$content);
              fclose($fh);
              //die Datei wird auf ihren endgültigen Namen (Endung "html") umbenannt:
              rename ("my_cache/".$filename."cache""my_cache/".$filename."html");
              ob_end_flush ();
              }
              ?>
              Was genau wird da gemacht ?


              Muss ich das auf jeder meiner Seiten machen ?
              Und was passiert da ?
              Is das Ähnlich wie INCLUDE?

              Danke

              Kommentar


              • #8
                Für lange Erklärungen hab ich grad nicht die Zeit, vielleicht findet sich ja jemand, ansonsten mußt du dich halt selbst einarbeiten.
                Hast du denn einen konkreten, akuten Grund für die Beschäftigung mit dem Thema. Da hab ich nämlich meine Zweifel.

                Kommentar


                • #9
                  Und was passiert da ?
                  Was sagen dir die Kommentare denn? Habe selten ein so gut kommentiertes Script gesehen...
                  Im Groben prüft der Code ob für eine bestimmte Seite bereits eine Cache Datei angelegt wurde. Wenn ja dann wird der User auf diese Cache Datei weitergeleitet, falls nein dann legt das Script diese Datei erst an und leitet dann den Benutzer darauf weiter
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Das ist ein ganz simples Caching. Das funktioniert mit den Ausgabekontrollfunktionen, indem die erste Ausgabe der Datei in eine Datei geschrieben wird. In den Folgeaufrufen wird dann immer diese gecachte Datei aufgerufen.
                    Der Vorteil dadran ist, das die Seite nur einmal erzeugt werden muss und anschließend immer aus dem Cache kommt. Aber genau das ist auch der Nachteil: Ändert sich etwas an der Seite, musst du vorher die entsprechende gecachte Datei löschen. Ich glaube bei Smarty wird das Thema ganz gut erklärt, allerdings komme ich momentan nicht auf die Seite.

                    Kommentar


                    • #11
                      OK habe verstanden
                      Ich brauche es nicht. Denn nach so ziemlich jedem Neuladen meiner Seite wird sich etwas ändern weil ich gerade an eine RealTimeBrowsergame arbeite
                      Aber danke

                      Kommentar


                      • #12
                        OK habe verstanden
                        Ich brauche es nicht. Denn nach so ziemlich jedem Neuladen meiner Seite wird sich etwas ändern weil ich gerade an eine RealTimeBrowsergame arbeite
                        Aber danke
                        Auch da kann Caching zum Einsatz kommen, wenn auch nicht auf so rudimentärer Art und Weise. Du hast sicher statische Teile in der Seite, die sich nur selten bis nie ändern aber dennoch immer Ausgegeben werden müssen. Denke nur mal an eine Navigation, die aus der Datenbank geladen wird. Bei jedem Aufruf kommen die Daten aus der Datenbank. Da bietet sich zum Beispiel ein Cache an.

                        Kommentar


                        • #13
                          Stimmt.
                          Name,Punkte,Koordinaten das bleibt ja alles gleich
                          Danke.Dann werde ich es mal versuchen

                          Kommentar

                          Lädt...
                          X