Schlagwort-Archiv: Performance

xt:Commerce auf Windows 70% beschleunigt

Microsoft Windows als PHP-Environment scheint bzgl. Performance ein echtes Problem zu sein. Nicht umsonst geht Zend seit wenigen Monaten mit dem Zend WinEnabler in den Markt.

Ziemlich verblüfft hat mich selbst die enorme Performance-Steigerung durch Optimierung einer einzigen Basisfunktion im xt:Commerce.

Nachdem ich die Anzahl der Iterationen im SpiderKiller durch native PHP-Funktionen auf einen Bruchteil reduzieren konnte, läuft xt:Commerce auf Windows ohne Zend WinEnabler mindestens 70% performanter.

Unter Linux fällt der Speed-Zuwachs weniger stark aus (ca. 0.2 Sek.) – Linux handelt den Bytcode und statische Funktionsrückgaben deutlich cleverer.

Den Download der optimierten xtc_check_agent.inc.php gibt es auf meiner Download-Seite khan.kh.funpic.de (win-booster.zip).

Die Routine lässt sich weiter optimieren (z.B. durch Aufgabe des Array-Konzeptes).

competition welcome…

MySQL Sharding: 5 Milliarden Pageviews loggen

Eben denk ich über Sharding nach, sämtliche Logging-Tables laufen so langsam zu. Mit Sharding soll die Schreib-Performance steigen und die Plattenzugriffe reduziert werden. Die einzelnen Sharded-Tables (reicht in meinem Fall, kein Sharding über versch. Databases) sollen via Union oder Subselect in einem einzigen View zusammengeführt werden.

Tolle Infos für einen Ersteinstieg in MySQL-Sharding hat Jurriaan Persyn zusammengestellt:

View more documents from Jurriaan Persyn.

1und1 Managed Server php4 vs. php5

Eben war ich auf einer in 2005 erstellten eCommerce-Plattform um zu checken, ob nach sämtlichen PHP4-Updates, die in den vergangenen Monaten bei 1und1 gefahren wurden, alles fehlerfrei läuft.

Der Shop läuft auf dem kleinsten Managed Server, den 1und1 in 2005 zu bieten hatte… und zwar unglaublich schnell!!! Der Grund scheint ist, daß 1und1 auf den managed Servern PHP4 als Apache-Modul laufel lässt, PHP5 JEDOCH LEIDER noch als CGI.

Stellt sich die Frage, ob in fast 2010 sich das nicht ändern sollte? 1und1 ist ja bekannt für sehr konservative Strategien im Setup der managed Server – Sicherheit und perfekte Uptime sprechen dafür, daß man bei 1und1 alles richtig macht. Es geht ja auch mal wieder „nur“ um Performance und ich arbeite seit 5 Jahren fast nur noch auf PHP5, nun steht ha auch PHP 5.3 mit erheblichen Neuerungen vor der Türe.

Also wie lange wird 1und1 PHP4 noch favorisieren, ich denke mal, wer es in all den Jahren noch nicht fertig gebracht hat, seine Apps auf PHP5 zu portieren – der muß ja nicht auch zwangsläufig noch durch bessere Performance belohnt werden!?

Wie DRAMATISCH der Vergleich PHP4 als Apache-Mod vs. PHP5 als CGI aussieht? Hierzu habe ich eine foo.php mit nichts weiterem, als dem öffnenden PHP-Tag <?php auf dem Server, um den PHPHypertextPreProcessor auch wirklich zu triggern.

php4: 60.36 req. per sec. (8.28 seconds)
php5: 15.05 req. per sec. (33.21 seconds)

Für Quadcore Power mit 4GB RAM ist die Performance aber generell ziemlich schlecht, auf einem Ubuntu Rootserver komme ich nach kurzer Justierung der richtigen Parameter leicht 1720 Request per Second, und zwar auf XEN-virtualisiertem Server mit QuadCore Host.

Wie heftig dann der Vergleich zu statischen Seiten ausfällt, zeigt der folgende benchmark, satte 3695 Seiten pro Sekunde liefert der nicht auf statische Seiten optimierte Apache 2. Hier könnte ich mit abgemagertem Apache noch einmal Faktor 2 herausholen, dennoch sieht man, wie im Zeitalter von CMS-um-die-Ecke, der Ressourcenhunger steigt. Um eine T3-Leitung komplett mit statischen Seiten zuzudrücken genügt ein uralter Pentium II mit 400Mhz.

Costolani würde sagen:“Denken Sie Über Caching nach!“