Das Putzlowitsch Test- und SEO-Blog

Update durch Downgrade 2.0

Auch wenn ich zumindest WordPress-technisch gesehen mit meiner Schnurpsel-Seite Strato den Rücken gekehrt habe, habe ich nicht gleich das ganze Webhosting-Paket (PowerWeb Advanced) aufgegeben. Die Seite wird halt nur per DNS umgeleitet, weil ich die PHP-Performance im Moment bei Strato für nicht akzeptabel halte.

Das hält mich aber nicht davon ab, mal eben ein Update des Paketes vorzunehmen. Wer weiß, vielleicht wird auch bei Strato das PHP mal schneller und ich habe aus SEO-Kreisen gehört, daß es nicht verkehrt ist, Seiten bei verschiedenen Anbietern zu haben, um z.B. Linknetzwerke aufzubauen.

Wie schon beim letzten mal, kann man das Update nicht mit ein paar Klicks im Kundenmenü bewerkstelligen, weil man dort nur in höherwertige und damit teurere Hostingpakete wechseln kann. So bleibt nur der Weg über ein „Downgrade“ per FAX, um quasi das Paket zu behalten und nur auf den aktuellen Stand zu bringen. Was bringt das nun konkret? Hier mal ein paar Paket-Leistungsdaten im Vergleich:

Leistung PowerWeb PowerPlus
Speicherplatz 800 MB 3000 MB
Subdomains 60 200
Traffic 80 GB unlimited
MySQL Datenbanken 2 5
E-Mail-Postfächer 200 300
FTP-Zugänge 3 5
Laufzeit 12 Monate 6 Monate
Preis/Monat € 6,99 € 6,90

Für 9 Cent weniger im Monat und nur noch einem halben Jahr Mindestvertragslaufzeit gibt es einiges an Mehrleistung. Schneller ist damit aber leider nichts geworden.

Weitere Artikel mit Bezug zu diesem:
Keine Kommentare »

Warum WordPress bei Strato so langsam ist

Eigentlich müßte ich besser sagen, was ist kein Grund dafür, daß WordPress beim Strato-Shared-Webhosting so langsam ist. Denn an einer vermeintlich schlechten Datenbankanbindung bzw. Datenbankperformance, wie man es oft in Foren oder auf Blogs lesen kann, liegt es nicht.

Datenbankgeschwindigkeit, der Test

Bei WordPress kann man sich alle Datenbankabfragen als SQL-String mit Ausführungszeiten und Aufrufhierarchie in Datenbank-Objekt unter $wpdb->queries speichern lassen. Dazu muß man in der wp-config.php die Konstante ‚SAVEQUERIES‘ mit true definieren:

define( 'SAVEQUERIES', true );

Genau das habe ich für die Startseite von schnurpsel.de gemacht und mir die Daten als PHP-Array in eine Datei geschrieben:

global $wpdb;
ob_start();
var_export( $wpdb->queries );
$out1 = ob_get_contents();
ob_end_clean();
plw123_debugfile_write( $out1 );

Diese Liste mit 51 SQL-Abfragen habe ich in ein einfaches PHP-Skript eingebunden und arbeite die Abfragen hintereinander ab. Es wird zunächst ein Connect zur Datenbank ausgeführt und anschließend folgende Schleife durchlaufen:

foreach( $sql_queries as $query ) {
	$dbd = @mysql_query( $query[0], $dbh );

	while( $row = @mysql_fetch_object( $dbd ) ) {
		$last_result[$num_rows] = $row;
		$num_rows++;
	}
	@mysql_free_result( $dbd );
	$num_queries++;
}

Es werden natürlich nicht nur die SQL-Abfragen ausgeführt, sondern auch die Ergebnisdatensätze mit mysql_fetch_object abgeholt. Nur die Ausgabe der Daten spare ich mir, das hat dann aber sowieso nichts mehr mit der Datenbank zu tun.

Datenbankgeschwindigkeit, das Ergebnis

Mal von ein paar Lastspitzen abgesehen, werden die 51 Abfragen und 539 Ergebnisdatensätze vom Strato MySQL 5 Server in etwa 0,2 Sekunden abgearbeitet. Man kann das hier [test-db-mysql5] live testen.

Ich habe das auch mal mit MySQL 4 probiert, da sind die Werte sogar noch etwas besser und liegen meist bei 0,1 Sekunden oder darunter [test-db-mysql4].

Und als dritten Test habe ich eine externe Datenbank (bei Host-Europe) eingebunden [test-db-ext]. Die 0,5 bis 0,6 Sekunden sind gar nicht mal so schlecht wenn man bedenkt, daß alle Daten über das Internet von Strato (Karlsruhe/Berlin) zu Host-Europe (Köln) und wieder zurück befördert werden müssen.

Mein Fazit

Die schlechte Geschwindigkeit von WordPress (und anderen umfangreichen PHP-Applikationen wie z.B. Joomla) liegt ursächlich nicht an einer schlechten Datenbankperformance, sondern vielmehr an einem nicht besonders schnellen Webserver/PHP.

Was hier nun im einzelnen das Problem ist, kann ich nicht sagen. Ein Geschwindigkeits-Nachteil ist sicher die Tatsache, daß PHP bei Strato als CGI läuft. Das bedeutet, daß für jeden Seitenaufruf ein neuer PHP-Prozeß gestartet werden muß. Konfigurationen, bei denen PHP als Apache-Modul läuft, haben da natürlich einen Geschwindigkeitsvorteil.
Vielleicht muß ja auch jede PHP-Datei bei Strato erst einen Sicherheitcheck durchlaufen, bevor sie geladen wird oder was auch immer.

Ein weiterer Hinweis für die mäßige PHP/Webserver-Performance sind auch die nicht besseren Ladezeiten des Strato Weblog-Basic, denn da ist überhaupt kein MySQL-Datenbankserver im Spiel. Die Daten liegen auf dem Webspace des Users und werden per SQLite eingebunden.

Trotz eigentlich nicht schlechter MySQL Datenbankgeschwindigkeit wird meine Startseite hier nicht schneller als in etwa 3,5 Sekunden geladen, dabei verwende ich fast eine WP-Standardkonfiguration ohne umfangreichen Plugins.

Meine Ausführungen tragen zwar nicht zur Lösung des Geschwindigkeitsproblems bei, aber vielleicht zum Verständnis der Ursache und Problematik an sich.

58 Kommentare »

CO2-freie Webseite bei Strato

Was sehe ich heute nach dem Login in meinen Strato-Kundenservice-Bereich?
+++ Das STRATO Umweltsiegel für Ihre Homepage! +++

Ab sofort können Sie Ihre Homepage als klimafreundlich kennzeichnen. Mit dem Umweltsiegel haben Sie die Möglichkeit, Ihr Umweltengagement auch im Netz zu zeigen und damit ein klares Statement für den Klimaschutz abzugeben.

Und dann kann man da auch gleich ein schönes Logo einbinden. Wenn man dem Link [Jetzt Logo einbinden ->] folgt, wird ein Imagelink zu einem fertigen Umweltlogo angezeigt. Als GIF-Bild in fester Größe und noch nicht mal der Hintergrund ist freigestellt und transparent. Wenn man es nicht zufällig grad auf eine weiße Fläche pappen will, sieht das schon mal besch… aus. Und mit der Größe paßt es möglicherweise auch nicht.
Aber die Rettung liegt nur ein paar Klicks entfernt, in Form einer EPS-Datei im Pressebereich bei Strato (ganz unten in der Liste). Damit kann man doch schon etwas mehr anfangen. So habe ich den Hintergrund transparent gemacht und alles auf meine gewünschte Breite von 150 Pixeln gebracht. Im PNG-24-Format bleiben auch die Rundungen schön rund, es sieht so einfach harmonischer aus. Und da nun das Kubrick-Blau nicht so recht dazu passen mag, habe ich den Rest der Seite auch noch begrünt. Jaaaa, der Frühling steht ja fast schon vor der Tür.

Über denn Sinn und Zweck eines solchen Logos läßt sich zwar streiten, was Strato damit sagen will, kann man hier nachlesen. Da ich aber sonst mit Buttons und Logos eher zurückhaltende bin und dies hier mehr eine Art Testseite ist, dachte ich, kann ich mir es mal leisten, so ein Teil auf die Seite zu nehmen.

Keine Kommentare »

Update durch Downgrade

Ich hatte hier bis vor kurzem ein Strato „PowerWeb A“-Paket. Nun hat Strato die Pakete erneuert. Außer das sie jetzt einen anderen Namen tragen, haben sich auch die zum gleichen Preis gebotenen Leistungen verbessert. So hat das mit dem alten „PowerWeb A“ vergleichbare Paket „PowerWeb Advanced“ jetzt immerhin 2 Datenbanken, 800MB Webspace, 80GB Traffic und ein paar weitere Zusätze. Vorher waren es nur eine Datenbank, 400MB Webspace und 50GB Traffic.

Besonders wichtig ist das Update aber für das kleinste PowerWeb-Paket, früher „XE“, jetzt „Basic“. Denn im Unterschied zum alten XE-Paket, welches ganz ohne PHP und Datenbank auskommen mußte, gibt es im neuen Einsteigerpaket „PowerWeb Basic“ endlich eine Datenbank und auch PHP. So kann nun auch mit diesem Paket ein richtiges WordPress genutzt werde :-)

So dachte ich mir, feine Sache, dann kann ich ja sicher mein altes „PowerWeb A“ mit ein, zwei Klicks auf das neue „PowerWeb Advanced“ updaten. Als flux im Kundenmenü die „Vertragsbetreuung“ aufgerufen und „Paket upgraden“ ausgewählt. Aber nichts da, ein Upgrade geht nur auf ein teureres Paket, das nächste wäre das „PowerWeb Pro“ für 9,99€, aber das will ich nicht. Dann gibt es ja noch bei „Ihr Vertrag“ den Menüpunkt „Paketwechsel (Downgrade)“, aber das wird es ja woöh nicht sein. Ich will ja nicht ein kleineres Paket, sondern nur ein bißchen mehr Leistung zum selben Preis. Naja, halt ein Update.

Ja wie nun, geht das etwa gar nicht? Auch im WP-Forum gab es bereits eine kleine Diskussion dazu. Und siehe da, es geht doch über ein „Downgrade“. Und auch nicht mit ein paar Klicks, sondern nur per Fax mit Unterschrift. Na egal, hab ich also das Fax hingeschickt, am nächsten Tag kam die Bestätigung und noch einen Tag später war die Umstellung erledigt.

Man sollte aber beachten, daß eventuell aus Sonderaktionen bestehende Vergünstigungen wegfallen und auch unbedingt vor der Umstellung alle Daten (nebst Datenbank) zu sichern sind (ein entsprechender Hinweis steht auch auf dem Fax-Formular). Und die Vertragslaufzeit beginnt dann für das neue Paket neu zu laufen.

4 Kommentare »