Lena wird's ... wette ich ;) 6 hrs ago

Wordpress SQL- und Hook-Statistiken

18. Juni, 2007 1088x gesehen (3867x in Übersichten) Deine Meinung dazu? 3 Kommentare

Warum ist Wordpress eigentlich so langsam? Schließlich muss es doch nur 10 Artikel aus einer Datenbank holen und anzeigen und mehr nicht, oder? Das dürfte an sich nicht sonderlich lange dauern und tatsächlich verbringt Wordpress auch die wenigsten der 200 bis 500 ms der unten angegebenen Zeit mit Datenbankabfragen.

Für die Startseite:

Stats:
2 big queries (over 1 ms) taking 6.3202381134033 ms to execute
and 98 small queries eating 10.257244110107 ms of your time.
That sums up to 100 queries in 16.577482223511 ms

Hooks:
hook: plugin_init, from start:12 ms, delta:12 ms
hook: plugins_loaded, from start:20 ms, delta:8 ms
hook: init, from start:28 ms, delta:8 ms
hook: template_redirect, from start:34 ms, delta:6 ms
hook: wp_head, from start:36 ms, delta:2 ms
hook: the_content, from start:42 ms, delta:6 ms
hook: the_content, from start:59 ms, delta:17 ms
hook: the_content, from start:69 ms, delta:10 ms
hook: the_content, from start:79 ms, delta:10 ms
hook: the_content, from start:93 ms, delta:14 ms
hook: the_content, from start:103 ms, delta:10 ms
hook: the_content, from start:114 ms, delta:11 ms
hook: the_content, from start:123 ms, delta:9 ms
hook: the_content, from start:134 ms, delta:11 ms
hook: the_content, from start:147 ms, delta:13 ms
hook: wp_footer, from start:202 ms, delta:55 ms

Die meiste Zeit geht also bei der Darstellung der einzelnen Artikel drauf (“the_content”Wink. Zwischen dem letzten content-Hook und wp_footer wird die Seitenleiste aufgebaut. Dort scheinen das TLA- bzw. das Linklift-Plugin ab und zu mal eine regelrechte Pause einzulegen, so dass der Seitenaufbau mehrere Sekunden dauert. Vielleicht sollte hier mal jemand etwas programmieren, das die Anzeigen im Hintergrund überprüft und nachläd. Anyone?

Artikelseite:

Stats:
2 big queries (over 1 ms) taking 3.9858818054199 ms to execute
and 103 small queries eating 10.961771011353 ms of your time.
That sums up to 105 queries in 14.947652816772 ms

Hooks:
hook: plugin_init, from start:13 ms, delta:13 ms
hook: plugins_loaded, from start:21 ms, delta:8 ms
hook: init, from start:29 ms, delta:8 ms
hook: template_redirect, from start:34 ms, delta:5 ms
hook: wp_head, from start:37 ms, delta:3 ms
hook: the_content, from start:42 ms, delta:5 ms
hook: comments_template, from start:51 ms, delta:9 ms
hook: wp_footer, from start:133 ms, delta:82 ms

Auch hier relativ viele Abfragen an die Datenbank, aber besonders lange braucht das nicht. Der größte Brocken ist wieder die Seitenleiste, aber hier schwanken die Zeiten je nach Artikel so sehr, dass sich darüber keine richtige Aussage treffen lässt. 133 ms für die Seite ist da schon einer der besseren Werte.

Letztendlich sind es also unendlich viele Zeilen Wordpress-Code der die Ausgabe von ein paar sehr schnellen SQL-Abfragen so stark verzögert. Vielleicht sollte sich die Community hier mal bemühen das ganze ein wenig performanter zu machen.

Die Statistiken entstanden übrigens mit einem recht einfachen Plugin, das ich mal schnell zusammengeschrieben habe. Hier gibt’s das zum Download. Hochladen, aktivieren und in der wp-config.hp noch define(’SAVEQUERIES’, true); zu den anderen defines schreiben. Fortan sollte am Ende des Quelltextes jeder Seite ein Kommentar mit dieser Übersicht stehen. Ich empfehle das Plugin wieder zu deaktivieren, wenn man sich die Werte einmal angeschaut hat und übernehme keine Verantwortung für irgendwelche Zerstörungen (auch wenn es extrem unwahrscheinlich ist), die dieses Plugin anrichten könnte …

Weitere Artikel, die dich vielleicht interessieren könnten:

  • Upgrade auf Wordpress 2.5Upgrade auf Wordpress 2.5 Gestern erschien Wordpress 2.5 und ich war so mutig gleich hier und jetzt upzugraden (war vorher noch auf 2.2). Scheint alles noch zu funktionieren und der …...
  • Wordpress 2.7 ist draußenWordpress 2.7 ist draußen Wordpress 2.7. ist draußen. Eine Wordpress Version, die hauptsächlich Verbesserungen an der Adminoberfläche einführt und die sind mal richtig gut. Fühle mich schon jetzt wohl darin und …...
  • Bug Tracker für WordpressBug Tracker für Wordpress Endlich endlich endlich. Unter http://mosquito.wordpress.org/ gibt es jetzt einen Bugtracker und wie man unschwer erkennen kann, wird er auch von vielen genutzt. Also holt eure Fliegenklatschen …...
  • Wordpress 2.1.2 erschienenWordpress 2.1.2 erschienen Uha … jemand hat sich auf dem Downloadserver von Wordpress Zugang verschafft und eine Version mit Sicherheitsloch hochgeladen. Wer in den letzten Tagen Version 2.1.1 …...
  • Wordpress 2.2.1Wordpress 2.2.1 Downloadbefehl! Es handelt sich nicht nur um ein reines Bugfix Release, sondern auch ein Update für einige Sicherheitslücken! Wordpress 2.2.1 auf dem Devblog von Wordpress Direkt zum Download Manche …...
  1. 18. Juni, 2007 um 15:51 Uhr | #1

    Sowas wollte ich kürzlich auch mal bauen – da mich das Ding langsam aber sicher tierisch aufregt Wink

    Wenn ich mich recht entsinne habe ich – bei meinem Lokalen Teststand ca. 5 Stellen im WordPress “Core” geändert und tatsächlich 15ms rausgeholt *fg*

    Ich schreib die mal zusammen – wenn ich se noch finde Wink

    thx für das Plugin, schau ich mir heut Abend mal -in Ruhe- an

  2. fh
    20. Juni, 2007 um 12:18 Uhr | #2

    wp-cache ist ein schickes Plugin, dass hier die Geschwindigkeit ganz massiv verbessert Wink

  3. 20. Juni, 2007 um 13:27 Uhr | #3

    Dem stimme ich grundsätzlich zu, aber es passt schon so wie es ist. So lange die Mehrheit nur mit 2-6 Mbit Leitungen surft sind 200-500 ms pro Seitenaufruf ok. Niemand sollte den “Lag” merken Wink

  1. Noch keine Trackbacks empfangen.