1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

langsame php Scripte identifizieren

Dieses Thema im Forum "Allgemeines" wurde erstellt von finno, 6. Februar 2015.

  1. finno

    finno Well-Known Member

    Registriert seit:
    23. Juli 2013
    Beiträge:
    66
    Zustimmungen:
    0
    Hallo!

    Ich bin langsam am verzweifeln wegen der Ladezeit meiner Website. Eine Analyse bei http://gtmetrix.com/ ergibt, dass nur alleine für das html Dokument (also der erste Eintrag in der Kaskade) 2,77 Sekunden benötigt werden. Davon sind 2,34 Sekunden als Wartezeit ausgewiesen. Wenn ich es richtig verstanden habe, ist das genau die Zeit, die der Server benötigt, um php auszuführen. Google empfiehlt übrigens eine maximale Server-Response Time von 0,2 Sekunden.

    Wenn ich alle Plugins (es sind viele) deaktiviere, liegt die Wartezeit für das html Dokument immer noch bei 0,524 s. Dasselbe Theme setze ich auch bei einer anderen Website auf einem anderen Server ein. Dort ist die Ladezeit ähnlich miserabel. Es sollte also nicht am Server liegen. Austauschen kann ich das Theme leider nicht, da ich schon seit Jahren dran rumeditiere und zahlreiche Funktionen verloren gehen würden.

    Lange Vorrede. Jetzt zu meinem Plan. Ich möchte die Scripte, die besonders lange benötigen, identifizieren. Am liebsten in den Plugins und im Theme. Dann kann ich versuchen, unnötige Funktionen wegzulassen oder rechenintensive Funktionen neu zu programmieren. Leider habe ich keine Ahnung, wie ich bei der Suche vorgehen soll. Gibt es evtl ein Plugin, dass dabei hilft? Und falls ich manuell rangehen muss - wie komme ich an die benötigte Ausführzeit jeder einzelnen php Datei?

    Die lange Leitung liegt übrigens nicht an den Datenbankabfragen. Die benötige Zeit dafür kann man sich mit dem Plugin "Query Monitor" anzeigen lassen. Liegt bei mir immer unter 0,05 Sekunden für alle Queries zusammengerechnet.

    Puuh, ich hoffe, ich hab's verständlich formuliert. Danke für die Aufmerksamkeit :)
     
  2. Herr Schmidt

    Herr Schmidt Well-Known Member

    Registriert seit:
    29. April 2007
    Beiträge:
    821
    Zustimmungen:
    0
    Du kannst dir über die Firefox Netzwerkanalyse (Entwicklertools) anzeigen lassen wie lange welches Script braucht. Gibt meistens schon erste Hinweise.
     
  3. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Und dann gibt es auch noch viele Performance/Debug-Plugins.

    Die messen dann bei verschiedensten Sache z.B. den Speicherverbrauch, DB-Anfragen und Zeiten. Eventuell sogar auf einzelne Arbeitsschritte aufgeteilt ... angefangen bei der Initialisierung und dem Laden aller Plugins, dann die der Aufbau verschiedenster Teile (Kopf, Content, Fuß und eventuell auch was dazwischen) und teilweise auch die Zeit für das Versenden der Seiten. Letzteres kann naturgemäß nicht komplett PHP-seitig bestimmt werden, aber dafür gibt's dann ja die Debug-Tools im Browser.



    Du hast aber nicht zufällig sehr große/viele Bilder, sowie viele CSS/JS-Dateien, die auch noch zum Browser geschickt werden müssen?
    Hierfür gab es die letzten 1-2 Wochen mehrere Threads, die du dir gern raussuchen und durchlesen darfst.
     
  4. Gerd-E.

    Gerd-E. Well-Known Member

    Registriert seit:
    24. April 2013
    Beiträge:
    3.203
    Zustimmungen:
    4
    Hi finno,

    hast du es schon mal mit einem Caching Plugin wie z.B. Cachify von Sergej Müller probiert. Besonders der erste Punkt im Wasserfall verkürzt sich dadurch.

    Für mehr Hilfe schicke mir die Seiten URL per PN.
     
  5. finno

    finno Well-Known Member

    Registriert seit:
    23. Juli 2013
    Beiträge:
    66
    Zustimmungen:
    0
    Danke für die Antworten!

    Falls das in meinem Posting noch nicht ganz klar geworden ist - es geht mir erstmal NUR um die Ladezeit des allerersten Requests. Danach werden noch zig weitere Dateien geladen, die sicher auch noch alle Optimierungspotential haben. Aber besonders auffällig ist bei meiner Seite halt die Serverantwortzeit für den ersten Request. Da sagen mir Browser Entwickler Tools im Prinzip dasselbe wie die eingangs verlinkte Website.

    @himitsu
    Meinst du mit Performance/Debug-Plugins sowas wie xhprof? Bin gerade dabei mich da einzulesen aber blicke noch nicht so ganz durch. Ich bräuchte möglichst etwas, das auf dem Server läuft.

    Irgendwo habe ich mal gelesen, dass php ein Log für langsame Scripte erstellen kann. Hat jemand schonmal davon gehört? Weiß jemand, was man ggf wie konfigurieren muss?

    @Gerd
    Bei mir läuft eine Caching Funktion des Plugins Wordfence. Nennt sich Falcon Cache. Irgendwie bringt es aber nur bedingt was. Wenn ich es richtig verstanden habe, speichert so ein Plugin doch komplette html Dokumente + Ressourcen auf dem Server. Die Wartezeit auf den Server müsste doch dann nahe 0 sein oder? Also die Zeit, die zB in der Firefox Netzwerkanalyse als "Warten" deklariert wird (lila Balken). Außerdem würde ich gerne mal prüfen, ob der Browser wirklich eine gecachte Version bekommt oder nicht. Kann man das irgendwie checken? Achja, ich sollte dir ja per PN schreiben. Momentchen :)
     
  6. finno

    finno Well-Known Member

    Registriert seit:
    23. Juli 2013
    Beiträge:
    66
    Zustimmungen:
    0
    Ich ahne, dass mein Problem doch am besten über caching zu lösen ist. Vor allem weil dar Aufwand um ein Vielfaches geringer ist. Ich vermute, mein Problem war nur, dass das caching bei mir ausschließlich auf der Startseite funktioniert (habe ich eben erst festgestellt). Zumindest reduziert sich die Serverantwortzeit mit eingeschaltetem caching auf der Startseite auf unter 50 ms. Bei allen anderen Seiten liegt sie über 1000 ms. Und ja, ich hab die Seiten mehrfach aufgerufen, damit der Cache erstmal generiert werden kann. Ich meld mich nochmal, wenn ich rausgefunden habe, warum nur die Startseite. Hab da irgendwelche Einträge in der htaccess in Verdacht.
     
  7. himitsu

    himitsu Well-Known Member

    Registriert seit:
    10. März 2011
    Beiträge:
    612
    Zustimmungen:
    0
    Hab da nicht genau nachgesehn.

    Das Plugin bei mir im Blog ist, wie ich gestern sah, ist schon 3 Jahre alt (letztes Update), drum hatte ich seinen Namen nicht genannt.
    Heißt also, daß es schon mindestens 3 Jahre her ist, als ich mich damit näher beschäftigt hatte und ich somit nicht mehr weiß was es jetzt noch/schon alles gibt :oops:, aber es wird bestimmt immernoch nette und bestimmt bessere, aber vorallem aktuellere Plugins geben.
     
  8. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
  9. finno

    finno Well-Known Member

    Registriert seit:
    23. Juli 2013
    Beiträge:
    66
    Zustimmungen:
    0
    Danke! Hab es mal ausprobiert und 2 langsame Plugins identifiziert, auf die ich notfalls verzichten könnte.

    Um die Ladezeit aber wirklich effektiv zu senken, komm ich ums cachen nicht drum rum. Und dann spielen die Plugins (glaube ich) kaum noch eine Rolle.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden