Kategorien
Geeky Wordpress

Schnelleres PHP (und auch WordPress)

Angeregt durch die Schlammschlacht auf Plasmas Blog, habe ich die letzte Stunde damit verbracht WordPress bzw. unsere PHP-Installation allgemein ein bisschen zu beschleunigen.

Ergebnis: Statt über einer ganzen Sekunde braucht eine Seite im Durchschnitt nur noch 200 Millisekunden bis sie angezeigt wird (auf einem AMD Duron 1300 MHz mit 512 MB RAM, Apache 2.x, PHP 4.3.x, MySQL 4.x unter Linux mit einem 2.4-er Kernel). Und das – wohl gemerkt – ohne die Benutzung eines Caches, der die Ausgaben von WordPress zwischenspeichert (wie es z.B. das mitgelieferte Staticize Plugin macht)

MySQL

WordPress baut alle Seiten dynamisch aus einer Datenbank auf. Von daher liegt es nahe hier zuerst anzusetzen. MySQL hat ab Version 4.0.1 einen Querycache eingebaut, der nicht aktiviert war. Um ihn zu aktivieren einfach folgendes in die Datei /etc/my.cnf in die Sektion „mysqld“ eintragen:

[mysqld]

query_cache_limit = 2M
query_cache_type = 1
query_cache_size = 32M

Das und ein Neustart der Datenbank bewirken, dass Anfragen die ein Ergebnis haben, das kleiner als 2 MB groß ist, in einem Cache von 32 MB gespeichert werden.

Das wirkte schon mal Wunder. Um die Zeit weiter zu drücken, sollte man in den WordPress Optionen einstellen, dass eine bestimmte Anzahl von Artikeln angezeigt werden soll und nicht ein Zeitraum. Das senkte die Zeit die die Abfragen benötigten von ca. 300 ms auf nun ca. 30 ms. Da der Löwenanteil der Zeit aber offensichtlich wo anders verbraten wird wurde, muss noch mehr optimiert werden.

PHP

Wenn nur ein Drittel der Zeit für die Datenbank abfragen draufgehen, dann scheint wohl PHP den Rest zu verschlingen. Also habe ich erstmal den Zend Optimizer installiert. Dieser soll den Code optimieren und so für eine schnellere Ausführzeit sorgen. Tat er auch, aber das war mir nicht genug.

WordPress besteht aus einigen 100 KB PHP-Code. Nicht alles wird bei jedem Seitenaufruf geladen, aber es ist doch eine beträchtliche Menge, die da jedes mal interpretiert/kompiliert wird. Auf meiner Suche nach weiteren Verbesserungen bin ich dann beim Turck MMCache hängengeblieben. Damit läuft die Ausführung von PHP-skripten ähnlich ab wie etwa bei JSP. Der Code wird beim ersten Ausführen (nach einer Änderung an der Datei) einmal kompiliert und danach nur noch das Kompilat, welches im RAM liegt, ausgeführt. Das hat die Zeit dann fast halbiert. Prima!

Doch WordPress nahm sich immer noch fast 400 ms an Zeit :-(

WordPress

Oben habe ich ja bereits auf eine Einstellungsmöglichkeit hingewiesen um die Datenbank etwas weniger zu belasten. Hier nun ein weiterer Tipp.

WordPress ist ziemlich langsam, wenn man eine andere Sprache als den Standard (Englisch) einstellt. Zum Test habe ich die entsprechende Zeile aus der Datei wp-config.php entfernt und siehe da, es lief doch deutlich schneller.

Im WordPress Supportforum habe ich dann auch schnell eine Lösung dafür gefunden. Scheinbar wird in der Version 1.5 eine ältere Version von PHP gettext verwendet. Folgt man der Anleitung aus dem Forum (neue Version drüber installieren und eine Änderung an wp-includes\wp-l10n.php) wird WordPress auch in Deutscher Sprache schneller. Besagte 200 ms waren erreicht :-)

Fazit

Durch einige wenige Ein- und Umstellungen kann man eine PHP-Anwendung – und diesem Fall alle auf diesem Server laufende – deutlich beschleunigen, ohne dass man darauf achten muss, was die Anwendungen speziell so machen.

P.S.: Am Ende hat mich doch interessiert wieviel das oben genannte Staticize Plugin noch herausholen kann. Nach Aktivierung wurden die Seiten in ungefähr 30-150 ms ausgeliefert (siehe HTML-Kommentar am Ende des Quelltextes). Damit kann man ruhig auch mal auf Slashdot.org verlinkt werden ohne dass der Server in die Knie geht :twisted:

Update:
Mit Staticize Reloaded konnte man leider keine Kommentare mehr zu einem Artikel hinzufügen, da der verwendete Spamfilter (WP-Hashcash) nicht damit kompatibel ist. Auf der Homepage des Plugins steht zwar eine Anleitung wie man es trotzdem anstellen kann, dass beides miteinander funktioniert, aber die funktioniert nicht. Vorerst ist also der zusätzliche Spamschutz ausgeschaltet. Mal sehen wie sich WordPress ohne macht :-)

Kategorien
Links

Google Local Search

Hat das schon mal jemand ausprobiert? Fast wie Weihnachten und Ostern zusammen ;-)

Google Local Search (Beta)

Kategorien
Geeky

Bioforce Gun

Doom, das Videospiel, wird bekanntlich ebenfalls zu einem Film verwurstet. The Rock spielt die Hauptrolle und wie wir nun aus der gestrigen Daily Show wissen wird seine Waffe eine Bioforce Gun sein … abgekürzt BFG. Scheiße mann! Wir alle wissen wofür das steht. Was soll das? Bäh …

Übrigens sehr empfehlenswert, die Daily Show. CNN bringt jedes Wochenende eine „Global Edition“ davon, amsonsten ™ kommt es auf Bittorrent.

Kategorien
Geeky Links

Pimp My Firefox

Pimp My Firefox
Plüschoberfläche, Leopardenfell und viel blinkendes Zeugs … Pimp it!

Kategorien
Geeky

Die drei Säulen des Internets

Three Pillars of the Internet
Die drei Säulen des Internets sind Star Trek, Pornos und natürlich Werbung. Denkt mal drüber nach :-)

Kategorien
Misc

Big Brother ist zu Ende

Ach ja! Big Brother ist zu Ende! Wer hat eigentlich gewonnen? Und was? Und jetzt? Es folgt die Truman-Show. Sollte es RTL2 in 20 Jahren noch geben sehen wir ein paar Jugendliche, die komplett überwacht aufgewachsen sind. Ihnen wird auch bestimmt nicht auffallen, dass es eine Welt außerhalb ihres Hauses/Dorfes gibt. Den Kindern im richtigen Leben geht es ja auch nicht anders …

Kategorien
Geeky Meckerecke

Internet am Telefon

Wäre schon praktisch. Mal gelegentlich ein Bild hochladen, Emails versenden oder empfangen oder die Killeranwendung ICQ laufen lassen. Braucht alles nicht sehr viel Bandbreite und wäre mit GPRS doch mehr als machbar. Nicht?

Nun ich bin bei Vodafone und die machen es einem nicht leicht. Die Auswahl ist da, aber:
Vodafone bietet den Gelegenheitsonlinern nichts. Der GPRS-Tarif der normale dabei ist, ist lächerlich. 9 Cent für 10 kB WAP und 19 Cent für 10 kB Web. Da ist SMS schreiben preiswerter. Warum werden Kunden auf die Weise pauschal verschreckt?

Bereits für 5 Euro gibt es eine WAP-Flatrate bei der der restliche Web-Traffic nur 9 Cent pro 20 kB kostet. Weniger als ein Viertel so teuer wie sonst. Warum nicht gleich so? Ich wäre nicht ganz so zögerlich mal kurz online zu gehen … nunja, aber wohl eine nette Option, immerhin bekommt man dafür einen Klingelton und ein Spiel jeden Monat gratis dazu .. wohoo … man sieht für wen das gedacht ist, oder?

Dann gibt es da noch die Profioptionen. Die kleinste kostet 9,86 Euro für 10 MB. 9,86 Cent pro 100 kB (der Traffic wird hier in 100-er Blöcken abgerechnet) oder ein Fünftel so teuer wie die WAP-Flatrate oder weniger als ein Einundzwanzigstel so teuer wie ohne Zusatzoptionen. Merkt jemand (speziell ihr Vodafonemenschen) etwas? Wieso solch krasse Preisunterschiede?

Ich weiß natürlich nicht wie Firmen kalkuliert haben, aber nachdem so ziemlich alle Preise in der heutigen Welt reine Phantasiepreise sind, nehme ich auch an, dass diese Preise irgendeinem Frosch in der Marketingabteilung eingefallen sind, dem es wohl auch absolut wurscht ist, was auf seiner eigenen Handyrechnung steht. Deshalb schreibe ich hier mal Preise vor :-) Die Zeittarife sind schon mal sehr gut. Nach unten bräuchte es noch einen mit 20 oder 30 Minuten, die Zeit müsste zumindest in den nächsten Monat übertragbar sein und man müsste tagesaktuell sehen können wieviel noch übrig ist. Bei den Datentarifen hätte ich gerne 19 Cent für 100 kB und erst am Ende des Monats aufgerundet. Dieser Tarif sollte bei jedem Kunden dabei sein (quasi als GPRS by Call). Auch hier eine tagesaktuelle Anzeige des verbrauchten Traffics. Und schwupps, habt ihr zumindest einen richtig zufriedenen Kunden … amsonsten ™: diesmal kündige ich rechtzeitig ihr Abzocker! Wer einem Handys zu Mondpreisen mit undurchsichtigen Tarifen verkaufen will und bei Vertragsverlängerung mir auch noch eine Twincard andrehen will mit der ich für nur 6 zusätzliche Euro im Monat mit meinem alten Handy 20 Minuten telefonieren kann, der hat es nicht anders verdient!

Update: Ich sollte wirklich lernen, das was ich sagen will in weniger Worten zu sagen. Entschuldigung für den langen Text …

Kategorien
Misc

Statistik am Monatsanfang

Statistiken 02/05

Der Schockwellenreiter macht’s, also darf ich’s auch :-)

Im Februar hatte diese Webseite 30931 Visits und 55565 Pageviews. Dafür danke ich meinen Lesern recht herzlich (auch wenn die meisten wohl eher Betrachter als Leser waren, denn dieser Artikel ist mit rund 19500 Aufrufen der Spitzenartikel überhaupt auf diesem Blog *g*). Die Besuche von Suchmaschinenbots sind aus den Zahlen bereits herausgerechnet (sonst wären es etwa 27000 mehr Pageviews).

Erstaunlich ist, dass nur 42% aller Pageviews aus Deutschland kamen. An zweiter Stelle stehen die Vereinigten Staaten (29%) und weit abgeschlagen auf dem dritten Platz Kanada (5%).

Die durchschnittliche Aufenthaltsdauer beträgt 148 Sekunden.

Bei den Betriebssystemen führt Windows mit 93,8% vor Macintosh mit 3,2% und Linux mit 1,2%. Im Browserkrieg sieht es ähnlich aus: Der Internet Explorer liegt mit 73% immer noch weit vorne. Gefolgt von Firefox (17,2%), Mozilla (3,5%), Opera (1,7%), Safari (1,6%) und Netscape (1,4%).

Seit Januar loggt AWStats auch noch die Bildschirmauflösung mit. 1024×768 benutzen 55,1%, 800×600 immer noch 15,5% und 1280×1024 ist bei 13,4% der Besucher eingestellt.

Die Top 10 der Suchausdrücke war im Februar:

  1. icq kontaktliste weg
  2. icq kontaktliste
  3. rammstein video
  4. nackte tatsachen
  5. nackte girls
  6. southpark
  7. inhärent
  8. stihl kalender
  9. icq kontaktliste ist weg
  10. renitent

Man sieht, der Unterschied zu – dem von Fernsehsendungen und diversen Zeitschriften (on- wie auch offline) gehypten Alphablogger – Schockwellenreiter ist doch ziemlich gering. Nur dreimal mehr Besucher/Seitenaufrufe? Niedlich :-)