Magento ist in den letzten zwei Jahren zu einem bedeutenden Mitspieler im E-Commerce Markt herangewachsen. Kein Open-Source Shopsystem erfreut sich höherer Zuwachsraten. Doch trotz aller Erfolgsmeldungen hält sich ein Gerücht über Magento weiterhin hartnäckig: Dem System wird vorgeworfen, ein langsames, ressourcenfressendes „Monster“ zu sein. Et- was diplomatischer ausgedrückt könnte man auch formulieren, dass die moderne und ausgeklügelte Architektur von Magento zwar viele Vorteile bringt, aber eben zu Lasten der Performance geht. Grund genug, einmal genauer hinter die Kulisse zu sehen.

Magento basiert bekanntlich auf dem Zend-Framework, was sicherlich im Vergleich zu einfacheren Systemen bzw. Systemarchitekturen wie die von OS- oder XT-Commerce, einen gewissen Overhead mit sich bringt. Der Overhead beeinträchtigt natürlich die Performance. Doch seit Erscheinen der ersten Version hat Magento auch einige Fortschritte im Bezug auf die Performance gemacht. Und es gibt in zwischen auch eine breite Auswahl an Magento-Hosting Angeboten, die preislich auch für kleine Shops interessant sein dürften.

Um die Frage zu klären, wie leistungsfähig die Angebote wirklich sind, haben wir einige Angebote ausgewählt und einem Lasttest unterzogen. Dabei haben wir für kleinere Shops Shared-Hosting Angebote getestet, bei denen sich mehrere Kunden einen Server teilen. Zusätzlich haben wir vier Managed-Server Angebote verglichen.

Testverfahren

Die meisten Webseitenbetreiber – davon machen Shops keine Ausnahme – vergleichen sich am liebsten über die Besucherzahl. Die Anzahl der Besucher ist aus betriebswirtschaftlicher Sicht interessant, ist sie doch eine wichtige Kennzahl für die Sichtbarkeit und Attraktivität des eigenen Angebotes. Genauso wenig, wie die Besucherzahl aber eine Aussage über die Verkaufszahlen eines Shops macht, kann man daraus eine Lastsituation für einen Shop herleiten. Entscheidend für die Lastsituation sind die tatsächlichen Seitenaufrufe und in beschränktem Maße die Größe der jeweiligen Seiten in KB. Die Seitengröße ist deshalb nur bedingt relevant, weil ca. 90% der Serverlast darauf verwendet wird, den PHP-Code auszuführen. Die Auslieferung der fertigen Seite ist also das kleinste Problem.

Um beim Lasttest gleiche Voraussetzungen für alle Angebote zu schaffen, wurde auf allen getesteten Servern ein aktuelles Magento-System der Version 1.4.0.1 installiert, welches wir mit den offiziellen Beispieldaten versehen haben. Im Klartext: Alle Systeme wurden mit einer identischen Magento-Installation und identischen Seitengrößen getestet.

Getestet wurde mit Hilfe des Tools jMeter1, das unter dem Dach der Apache Software Foundation entwickelt wird. Mit Hilfe von jMeter ist es möglich, verschiedene Lastsituationen nachzustellen. Die Angebote wurden einer Spitzenlast-Situation ausgesetzt die eine kurzzeitige Lastspitze simuliert (Stresstest). Einige ausgewählte Managed-Server, die besonders gute Leistungen gezeigt haben, haben wir zusätzlich noch einem Dauerlasttest unterzogen. Warum der ergänzende Dauerlasttest? Ein Webserver, der an seiner Leistungsgrenze arbeitet wird auf Dauer immer langsamer, weil er die Anfragen nicht mehr schnell genug beantworten kann und so immer mehr Anfragen parallel abarbeiten muss. Dieses führt zu einer immer höheren CPU-Belastung, wodurch dann die Bearbeitung der Anfragen noch langsamer wird. So entsteht eine Spirale, die den Server auf kurz oder lang in die Knie zwingt.

Beim Stresstest wurden jeweils sechs verschiedene Seiten des jeweiligen Webshops kurz hintereinander aufgerufen. Die Aufrufe geschahen gleichzeitig. Für jeden einzelnen Seitenabruf wurde die Zeit bis zur vollständigen Auslieferung der Seite ermittelt. Beispiel: Im Stresstest für 100 User wurden 100 User gleichzeitig auf den Shop „losgelassen“. Jeder Besucher rief 6 Seiten auf. Mit dem Stresstest wird also untersucht, wie viele gleichzeitig aktive Besucher ein Server verkraften kann. Die so ermittelten Werte sind allerdings eher theoretischer Natur. Im Normalfall werden nicht alle Besucher eines Shops exakt gleichzeitig die gleichen Seiten aufrufen. Dennoch können die ermittelten Werte natürlich zum Vergleich unterschiedlicher Angebote herangezogen werden. Die Stresstests dauerten nur wenige Minuten.

Der Dauerlasttest wurde über jeweils eine Stunde durchgeführt. Bei diesem Test wurde ein realistisches Nutzerverhalten imitiert. Es wurden für die einzelnen Usersessions dem menschlichen Verhalten nachempfundene Wartezeiten zwischen den einzelnen Requests (Seitenaufrufe) eingebaut. Es wurden also unterschiedliche Mengen an Besuchern imitiert, die jeweils sechs Seiten in einem Zeitraum von 11 Minuten aufrufen. Dies entspricht, laut einer Analyse mehrerer Google-Analytics Konten von diversen Shop-Betreibern, in etwa dem normalen Nutzerverhalten im Textil- und Sportartikelhandel. Die Lastsituation wurde eine Stunde lang aufrecht erhalten. Mit dem Dauerlasttest wird also untersucht, wie viele aktive Besucher ein Server dauerhaft verkraften kann.

1.1. Getestete Angebote

Folgende Hostingangebote haben wir getestet.

Shared-Hosting Angebote

Managed-Server Angebote

1.2. Ergebnisse der Lasttests

Shared-Hosting

Wie erwartet, zeigt sich bei den Shared-Hosting Angeboten, dass diese weniger leistungsfähig sind als Managed-Server. Für kleinere Shops kann ein gutes Shared-Hosting allerdings trotzdem eine gute und günstige Alternative sein. Wer nicht mehr als 100 gleichzeitige Besucher in der Spitze erwartet, fährt mit einem guten Shared-Hosting Angebot gut. Bei 200 Usern wird es schon kritisch. Keines der getesteten Angebote liefert bei einer Belastung von 200 gleichzeitigen Besuchern brauchbare Werte. Entweder ist die Antwortzeit oder die Fehlerrate zu hoch. Oder – noch schlimmer – beides. Antwortzeiten2 von über 5 Sekunden sind im modernen eCommerce einfach nicht akzeptabel. Marketingaktionen, die gleichzeitig wesentlich mehr als 200 Besucher auf die Shopseiten bringen, sollte man als Betreiber also tunlichst unterlassen. Zwar ist der Wert von 200, wie eingangs erwähnt, ein eher theoretischer Wert. Dennoch dürfte klar sein, dass die Rückläufer aus einem Sponsored-Newsletter, der an 50000 Empfänger geht und eine Öffnungsrate von 10% hat, den Shop bis zur Unbrauchbarkeit belasten würden.

Interessant in diesem Zusammenhang ist auch das Setup des Starterpaketes von Incoweb. Der MySQL-Server im Hintergrund lehnt bei 200 Usern die Verbindung wegen Überfüllung ab – so dass nur eine Fehlerseite ausgeliefert wird. Daher ist das Web unter dieser Last gar nicht mehr zu gebrauchen. Die Messwerte für 200 User sind daher in der obigen Tabelle nicht enthalten.

Managed-Hosting

Vorbemerkung – Äpfel und Birnen?

Im Vorfeld zur Veröffentlichung dieses Artikels tauchte die Frage auf, ob wir hier Äpfel mit Birnen vergleichen? Besonders im Bezug auf die Managed-Server wurde diese Frage laut. Sicherlich haben unterschiedliche Server von unterschiedlichen Anbietern miteinander verglichen und deren Performance per Lasttest gemessen. Es war ja gerade das Ziel unserer Untersuchung, den Einfluss der RAM-Größe und die Anzahl der CPUs auf die Performance zu messen und konkrete Zahlen zu liefern. Nun wurden aber Stimmen laut die sagten, dass wir so dem ein oder anderen Anbieter nicht gerecht werden, denn im Test der Managed-Server sieht es nun so aus, als sei der Server von Mittwald Medien der beste und schnellste Server. Darum sei an dieser Stelle ausdrücklich und deutlich erwähnt, dass die anderen Anbieter natürlich auch stärkere Server im Angebot haben, die von der Ausstattung her mit dem hier getesteten Mittwald Server ohne Probleme mithalten können.

Unsere Tests haben aber auch gezeigt, dass die Performance auch von der softwareseitigen Optimierung der Systeme abhängen. Diesbezüglich lassen sich die Anbieter von Managed-Servern nicht in die Karten schauen. In so fern wäre also ein Lasttest gleich ausgestatteter Server unterschiedlicher Anbieter interessant.

Testergebnis Managed-Server

Bei den Managed-Servern lieferten die besten Werte die Systeme, die auch softwareseitig für Magento optimiert waren und die über ausreichend CPU-Power sowie RAM verfügten. Hier- bei ist das Verhältnis von CPU-Power und RAM durchaus relevant, wie unsere Tests gezeigt haben.

Managed Server XXL 5.0, 8 CPUs, 8 GB RAM

Im Test liefert ein Magento optimiertes System mit 8 CPUs und 8GB RAM die besten Ergebnisse. Bei einem 10 Minuten dauernden Test mit insgesamt 3000 Zugriffen3 zeigte es keinerlei Ausfälle und eine erstaunlich zügige Antwortzeit von nur 0,3 Sekunden. Erst bei einer Verdoppelung der Zugriffe auf 6000 waren deutliche Verzögerungen messbar und die Anzahl der Fehler stieg auf 16% an. Die meisten Anfragen wurden allerdings immer noch innerhalb von knapp einer Sekunde beantwortet, nur einige Ausreißer brachten es auf bis zu 6 Sekunden. Für eine kurze Lastspitze wäre dies vielleicht gerade noch akzeptabel. Im Dauerlasttest kann das System ebenso überzeugen. Erst bei 10600 Usern in einer Stunde steigt die Fehler- rate auf über 41%.

Server Quad/Linux Managed, 4 CPUs, 8 GB RAM

Mit der halben CPU-Power und ohne softwareseitige Optimierung fällt das Ergebnis zwar immer noch um Längen besser aus, als bei den Shared-Hosting Angeboten. Dennoch werden deutliche Unterschiede erkennbar. Bei 4200 Zugriffen in 10 Minuten gibt es bereits eine Fehlerrate von ca. 7 Prozent. Bei 1000 Besuchern lag diese schon bei 28% und damit deutlich zu hoch, um noch von einem geregelten Betrieb sprechen zu können. Besonders auffällig ist bei diesem Test, dass auch bei relativ geringen Besucherzahlen die Reaktionszeit recht lang war. Bei nur 300 Usern brauchte eine Seite durchschnittliche 7 Sekunden, um an den Web- browser ausgeliefert zu werden. Im Dauerlasttest macht das System dann aber einen über- zeugenden Eindruck.

MS 3000, 2 CPUs, 2 GB RAM

Wie wichtig ein ausgewogenes Verhältnis von CPU-Power, RAM und softwareseitige Magento-Optimierung ist, zeigt die Analyse der Testergebnisse eines Servers mit 2 CPUs, aber nur 2 GB RAM. Im Vergleich zu den anderen Managed-Servern ist dieser weit abge- schlagen. Um die Leistung des Servers genauer bestimmen zu können, haben wir den Stress- test nach unten erweitert. Denn bei einem Startwert von 3000 Zugriffen wie bei den anderen Kandidaten lieferte der Server schon nur noch die Hälfte der Anfragen aus, und die benötig- ten im Schnitt 47 Sekunden bis zur Auslieferung. Erst als wir die Anzahl der User auf 100 reduzierten, kam der Server auf 2,5% Fehlerrate und eine mit 5,3 Sekunden auf gerade noch akzeptable Antwortzeit. Dieses Ergebnis ist also vergleichbar mit den Shared-Hosting Angeboten – und bei dem recht günstigen Preis von 79€ pro Monat für alle jene eine interessante Alternative, die ihre Ressourcen nicht mit anderen teilen wollen, wie es beim Shared-Hosting der Fall ist.

Zonality Magento Hosting, 4 CPUs, 24 GB RAM

Interessant ist auch die Untersuchung der Frage, ob eine sehr hohe Ausstattung mit RAM einen positiven Einfluss hat. Untersucht wurde ein System mit 24 GB RAM. Diese enorme Menge scheint aber beim Spitzenlasttest die Performance des Systems nicht über Gebühr zu befördern. Die Leistung des Systems ist durchaus vergleichbar mit dem Server von Inter- net24, das ebenfalls 4 CPU-Kerne hat. Unter Dauerlast verkraftet es aber deutlich mehr Besucher, was sicherlich an der großzügigen Ausstattung mit RAM liegen kann.

Ergebnisse Dauerlasttest

* Aufgrund der guten Performance bei 5300 Usern pro Stunde wurde der reduzierte Test mit 2650 Usern nicht mehr durchgeführt.
** Aufgrund der Antwortzeit bei 5300 Usern pro Stunde wurde der Test mit 10600 Usern nicht mehr durchgeführt.

1.3. Fazit

Server-Optimierungen

Unser Lasttest zeigt deutlich, dass es lohnenswert ist, einen Hoster zu wählen, der sich auf Magento spezialisiert hat. Diese schaffen es mit geeigneten Konfigurationen ihrer Server Magento auf Trab zu bringen.

Die Ergebnisse der Managed-Server lassen auch einige Aussagen über die Bedeutung von CPU-Power und Hauptspeicherausstattung zu. Für eine zügige Beantwortung der Anfragen ist CPU-Power die entscheidende Größe. Dies zeigen die Ergebnisse des Stresstests. Bei den länger andauernden Lasttests zeige sich dann aber auch die Bedeutung des RAMs. Das reichlich ausgestattete System konnte einer höheren Lastsituation deutlich besser standhalten.

Oberhalb der hier getesteten Systeme finden sich inzwischen einige Cluster Angebote die den Bedarf an sehr starken Magento Lösungen decken sollen. Auch Anbieter wie Internet24, oder RatioKontakt, die sich auch auf die Erstellung von kundenspezifischen Sonderlösungen verstehen, bieten Magento-Installationen, deren Möglichkeiten deutlich oberhalb der hier getesteten Einzel-Server liegen.

Besonders erfreulich ist die Entwicklung im Shared-Hosting Bereich, wo heute bereits für gut 20 € im Monat kleinere Shops gute Ergebnisse erreichen können. Vor rund einem Jahr wäre das noch undenkbar gewesen.

Wer seinen Server in eigener Regie betreiben will, dem sei dringend empfohlen, sich mit Software-Optimierungen für Magento zu beschäftigen, denn hier scheint einiges zu holen zu sein.

beschäftigt sich seit über 14 Jahren mit E-Commerce und Online-Marketing. Als Gründer einer Internetagentur der ersten Stunde beschäftigt er sich seit 1995 mit Fragen seiner Kunden. Dr. Lammenett ist Mitglied im Bundesverband Deutscher Unternehmensberater e.V. Von Oktober 2000 bis Ende 2003 leitet er dort den Fachverband eBusiness. Er studierte mit Schwerpunkt Marketing und Informationstechnologie in Deutschland, England und Kanada und promovierte in der Slovakischen Republik. Von 2005 bis 2007 war er Lehrbeauftragter der Fachhochsschule Aachen.

Conversion & Usability, Online-Marketing

SEO und Conversion-Optimierung: (k)ein Dream-Team?

Jörg Dennis Krüger •

Recht

E-Commerce-Recht – Rückblick auf den Monat Oktober 2014

Rolf Albrecht •