WordPress „Beitrag schreiben“ baut sich langsam auf

Ich habe schon länger das Problem, dass sich die Seite „Beitrag schreiben“ in WordPress extrem langsam aufbaut. Auf dem alten Server dauerte das deutlich über 60 Sekunden. Auf dem neuen Server hier nur noch ca. 20 Sekunden. Heute habe ich mir mal Zeit genommen um zu untersuchen warum das so ist. Ich habe mir das Tool mytop installliert und ausgeführt. Beim Aufruf der Seite erschien für ca. 20 Sekunden die folgende SQL-Query:

mysql> SELECT meta_key FROM wp_postmeta GROUP BY meta_key ORDER BY meta_id DESC LIMIT 10;

Als erste Maßnahme habe ich mal den MySQL Query-Cache in der my.cnf hochgeschaltet, da mein Webserver 2 GB RAM hat und davon noch nicht alles genutzt wird:

#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 128M

Das brachte dann den Effekt, dass innerhalb eines relativ kurzen Zeitraums die Abfrage sehr schnell ablief. Nach ein paar Minuten (wenn überhaupt) war der Geschwindigkeitsgewinn aber wieder weg.

Also habe ich mal geschaut, was die SQL-Abfrage überhaupt macht:

mysql> SELECT meta_key FROM wp_postmeta GROUP BY meta_key ORDER BY meta_id DESC LIMIT 10;

+----------------------+
| meta_key             |
+----------------------+
| podPressPostSpecific |
| _wp_page_template    |
| _utw_tags_0          |
| _utw_tags_           |
| related_id           |
| podPressMedia        |
+----------------------+
6 rows in set (25.67 sec)


mysql> SELECT meta_key FROM wp_postmeta GROUP BY meta_key ORDER BY meta_id DESC LIMIT 10;

+----------------------+
| meta_key             |
+----------------------+
| podPressPostSpecific |
| _wp_page_template    |
| _utw_tags_0          |
| _utw_tags_           |
| related_id           |
| podPressMedia        |
+----------------------+
6 rows in set (0.00 sec)

Die Query erzeugt also unter „Ein neues benutzerdefiniertes Feld hinzufügen“ eine Liste mit 10 Werten für den setzbaren Schlüssel. Ein Feature das ich bisher nie benutzt habe. Also habe ich mich auf die Suche nach der Query gemacht. Ich wurde in wp-admin/admin-functions.php in der Funktion meta_form() fündig. Also schnell das folgende auskommentiert und mit 0,8 Sekunden Seiteladezeit (als über 20 Mal schneller :-)) glücklich werden:

/*      $keys = $wpdb->get_col("
                        SELECT meta_key
                        FROM $wpdb->postmeta
                        GROUP BY meta_key
                        ORDER BY meta_id DESC
                        LIMIT 10");*/

IPv6 Migration kommt

Wie heise online berichtet legt sich ICANN für eine rasche Migration zu IPv6 ins Zeug. Es zeichnet sich ab, dass in 2 bis 4 Jahren die IPv4-Adresspools alle vergeben sind. NAT hat dafür gesorgt das der Zwang zur Migration über Jahre immer wieder hinausgeschoben werden konnte. Nun ist es meiner Meinung nach endgültig an der Zeit die IPv6-Migration zu forcieren. Weitere Infos gibts auf meiner IPv6-Infoseite und IPv6 ready?.

Der frühe Hordler kriegt das Rezept

Auf Stufe 30 bekam mein Hexenmeister den Zauber „Höllenfeuer“ mit folgenden Eigenschaften:

WoW Höllenfeuer

D.h. sowohl mein Hexenmeister, als auch Feinde im Umkreis nehmen bis zu 1260 Punkte Feuerschaden. Dumm nur, dass meine Gesundheit im Spiel ca. 400 bis 500 Punkte unter diesem Maximalschaden liegt. Da Höllenfeuer kanalisiert, kann man nicht parallel mit Blutsauger den Gegnern Gesundheit abziehen. Es muß also ein Trank her, der Feuerschaden absorbiert. In Frage kommt hier der Feuerschutztrank:

WoW Feuerschutztrank Wirkung

Bei minimaler Absorbtion müssen noch 285 Punkte Schaden einkalkuliert werden, damit der Hexenmeister den Zauber überlebt. Das Rezept für den Trank gibt es für Hordler leider bei genau einem Händler und das nur auf Vorrat. Ich war mehrfach da und es war immer weg. Also bin ich am letzten Wochenende gleich morgens nach dem Aufstehen hin und hab mir das Rezept geholt. 🙂

Nun gilt es noch die Zutaten aufzutreiben, um den Trank in Aktion testen zu können:

WoW Feuerschutztrank Zutaten

Update

Von einem anderen Spieler habe ich erfahren, dass der Trank warscheinlich nichts bringen wird. 🙁 Wird eh noch etwas dauern, bis ich die Zutaten zusammen habe.

Schneeballen im Sommer

Auf dem Bürgerfest in Regensburg gab es neben vielen anderen Leckereien auch Schneeballen. Diese hier sind mit Nugat- bzw. Eierlikör-Marzipan-Füllung:

Schneeballen vorher

Auf den ersten Blick siehts nicht nach so viel aus, wir waren aber nach gut der Hälfte satt:

Schneeballen nachher

Fazit: Lecker und sättigend, aber vielleicht etwas trocken.

Projekt 30 geschafft

In WoW habe ich es endlich geschafft mit einem Character die Stufe 30 zu erreichen. Als Gelegenheitsspieler hat das ziemlich lange gedauert und wurde gestern durch eine Instanz (Tiefschwarze Grotte) verzögert, die zurückgesetzt wurde, als wir schon fast durch waren, aber mein Mitspieler und ich gleichzeitig darin gestorben sind.

Coniná auf Stufe 30 mit Leerwandler

Fußball im Land des Weltmeisters

Wenig weltmeisterlich stellt sich meiner Meinung nach der Italienische Fußball an, wenn es darum geht skandalfrei zu sein. Aktuell drohen den Mailänder Clubs wegen Bilanzfälschung drastische Strafen (Quelle: SPIEGEL ONLINE). Ob es allerdings dazu kommt, darf bezweifelt werden. Der letzte Skandal nach dem großen Manipulationsskandal war im Februar eine Spielpause nach Fanausschreitungen (Nach Ausschreitungen: Aufhebung des Spielstopps in Italien – SPIEGEL ONLINE, sport.ARD.de: Notstandssitzung der italienischen Profiligen – Bald rollt der Ball in Italien wieder). Ich kann nur hoffen das endlich mal die richtigen Konsequenzen gezogen werden, damit der Sport wieder sauber und friedlich wird. So finde ich das ein Trauerspiel.

Debian + pppd + IPv6

Als mir mein DSL-Provider Anfang des Jahres mitteilte, dass er nun testweise IPv6 anbietet, war ich direkt begeistert und habe mir auch ein Netz zuteilen lassen. Bis dato hatte ich nur die Möglichkeit mir IPv6 über einen Tunnel routen zu lassen. Die ersten Tests verliefen allerdings negativ, es ging einfach kein IPv6-Traffic über das ppp0 Interface. Im 0x1b – Blog fand ich dann den entscheidenden Hinweis:

Dem pppd muss explizit die Option +ipv6 mitgegeben werden, damit er sich dazu bequemt, etwas in der Art zu tun.

Seitdem steht in meiner /etc/inittab der Eintrag V3:23:respawn:/usr/sbin/pppd +ipv6 nodetach call dsl-provider. Übrigens sorgt respawn dafür, das der pppd nach jedem Beenden (durch z.B. Zwangstrennung) oder Absturz wieder neu gestartet wird. 🙂

Gesammeltes

In diesem Artikel gibt es eine Auflistung von interessanten Artikeln, über die ich eigentlich in letzter Zeit bloggen wollte, es aber aus Zeitgründen nicht geschafft habe. Vielleicht fällt euch beim Lesen der Überschriften schon was interessantes auf.

Süßigkeiten individualisieren

Auf der USA-Seite von M&Ms kann man sich individuell beschriftete M&Ms bestellen. Ich finde es lustig, der Preis für eine Packung ist leider relativ hoch und der Versand ist nur in die USA möglich. Bin mal gespannt wann es sowas in Deutschland geben wird… 😉