Im letzten Beitrag ging es um die ideale Serverarchitektur für einen B2B-Shop auf Basis von Magento Enterprise. Magento ermöglicht hier stabile, redundante Architekturen von geringer Komplexität (2 Webserver, 2 Datenbankserver) und sichert damit eine hohe Verfügbarkeit. Mit nur wenig Hardware lassen sich damit die Anforderung zur Skalierbarkeit von E-Commerce Lösungen von B2B-Unternehmen meistern. Das System kann auf dieser Basis sehr effizient skalieren: Braucht es deutlich mehr Performance, etwa weil der Traffic auf der Shopseite stark steigt – und damit die Last für die Webserver stärker als für die Datenbankserver – lässt sich einfach ein weiterer Webserver zuschalten. Müssen zukünftig Massen-Änderungen an Produktdaten in unerwartetem Ausmaß geschultert werden, kann man auch einen weiteren Datenbankserver hinzufügen. Aber es gibt noch andere Möglichkeiten zur Leistungsoptimierung. Darum soll es im Folgenden gehen.

 

Performancesteigerung mit Magento Enterprise Release 1.13

Unsere B2B-Kunden stellen wegen der besonders umfangreichen Produktinformationen, der Multi-Store-Konzepte und der unterschiedlichen Storeviews sowie der Vielzahl individueller Kundenkonditionen ganz besondere Anforderungen an die Performance eines Shopsystems. Mit dem letzten Release 1.13 fokussiert Magento Enterprise insbesondere auch die Bedürfnisse dieser Kunden. Denn wichtige Verbesserungen betrafen den Indizierungsprozess und das Caching.

 

Informationen schnell updaten

Dank einer neuen Implementierung der Indizierungsprozesse wurden deutliche Performanceverbesserungen erreicht, was sich nicht nur in B2C-Projekten positiv auswirkt. Die Indizierung läuft nun insgesamt wesentlich schneller. Nur noch für tatsächlich geänderte Objekte werden Re-Indizierungen angestoßen, die zudem vollständig im Hintergrund ablaufen. Das ist insbesondere bei umfangreichen Produktkatalogen und Produktinformationen ein klares Plus.

 

Alles Wichtige einfach vorhalten

Die Magento Enterprise Edition kann alle statischen Inhalte einer Website, wie Produktinformationen und Mediainhalte in einem Cache vorhalten (Full-Page-Cache). So lassen sich vollständige Kategorie- oder Produktseiten jederzeit nach Bedarf aus dem Speicher ausspielen, anstatt alle Inhalte neu abzurufen. Seiten werden schneller geladen, wodurch auch die Last der Webserver sinkt. Magento gibt Änderungen der statischen Inhalte aktiv an das Cache-System weiter, womit sie nach jeder Aktualisierung sofort im Frontend bereitstehen. Magento Enterprise ermöglicht seit der Version 1.13 außerdem einen Redis Backend-Cache, wodurch das Frontend weiter entlastet wird. Die In-Memory-Datenbank auf NoSQL-Basis erlaubt eine extrem schnelle Auslieferung von User-Session-Informationen und unterstützt dankenswerterweise die im letzten Blogbeitrag angesprochene Serverarchitektur und Master/Slave-Replikation. So lässt sich, was die Ladezeiten und den Umgang mit Produktinformationen anbelangt, das Maximum an Leistung aus einem B2B-Shop holen.

 

Und noch ganz am Rande angemerkt: Magento-Plattformen kommen prinzipiell ohne Java aus und sind damit deutlich stabiler.