Steigerung der Website-Performance durch Magento Update und appserver.io – ein Beispiel aus der Praxis

Schneller, besser, performanter! Bei der Bearbeitung eines Kundenprojekts – der Name des Kunden kann aus datenschutzrechtlichen Gründen nicht genannt werden – konnten wir die Performance durch ein Magento Update signifikant verbessern. Ein weiterer Meilenstein stellt die technische Einführung des appserver.io – einer sehr leistungsfähigen PHP Infrastruktur der neuesten Generation – dar, der zu einer zusätzlichen Performanceoptimierung des Projekts führt. Derzeit laufen noch die Performancetests, die nicht nur unsere Entwickler sondern auch den Kunden begeistern und mehr als überzeugen. Nachfolgend werden die Schritte beschrieben, die bei dem laufenden Liveprojekt umgesetzt wurden, um die Website-Performance um ein Vielfaches zu optimieren und zu verbessern.

Profil des Kunden

Der Kunde verfügt über komplexe konfigurierbare Produkte (mit bis zu 750 Simple Products). In diesem Zusammenhang gab es immer wieder Performance-Probleme im Warenkorb bzw. Checkout. Nachdem sich die Performance-Leistung in Magento 1.13 verbessert hat, wünschte der Kunde ein Magento Update von der Version 1.12.

Update auf Magento 1.13

Nach erfolgreichem Test wurde das Update durchgeführt. Um dies messen zu können haben wir einen Selenium-Test erstellt, der auf einer Testinstanz erst mit der Magento Version 1.12 und anschließend der Magento Version 1.13 durchgeführt wurde. Um den Test zielorientiert gestalten zu können, wurde eine neue Testinstanz des Kundenshops auf dem selben System aufgesetzt und anschließend auf Magento 1.13 upgedatet.

Mit Hilfe des Tools Selenium IDE wurde für den Firefox-Browser ein Testszenario erstellt, welches folgenden Ablauf wiederholbar ausführt:

  • Logout des Benutzers (stellt sicher, dass kein User während des Tests bereits angemeldet wurde)
  • Aufrufen der Startseite des Kunden
  • Aufrufen der Login-Seite und Benutzeranmeldung
  • Suche nach Produkt „XY1“
  • Aufruf des Produkts und Auswahl passender Optionen
  • Produkt in den Warenkorb legen
  • Suche nach Produkt „XY2“
  • Aufruf des Produkts und Auswahl passender Optionen
  • Produkt in den Warenkorb legen
  • Suche nach Produkt „XY3“
  • Aufruf des Produkts und Auswahl passender Optionen
  • Produkt in den Warenkorb legen
  • Aufruf des Warenkorbs
  • Durchführung des Checkouts
  • Bestellung abschicken

Neben dem ausgeführten Selenium Test wurde zusätzlich ein HTTP proxy Tool eingesetzt, mit welchem die Request-Zeiten der Testläufe erfasst werden konnten. Das Tool hängt sich zwischen Internet und Browser, womit der gesamte Datenverkehr für den Testcase überwacht werden konnte. Für diesen Zweck wurde das Tool „Charles“ verwendet.

Dabei wurden folgende Werte protokolliert und erfasst:

  • In den Warenkorb legen
  • Aufruf der Warenkorbseite
  • Durchlauf des Checkouts (Adress, Shipping, Billing, OrderView, Success)
  • Startseite (Produkte.html)
  • Detailseiten der Produkte
  • Gesamt-Request-Zeit des Testlaufs

Testergebnisse Relaunch mit Magento 1.12.0.2



TechDivision Kundensystem Hardware:

  • 2*Intel Xeon X5650 (6*2.67GHz)
  • 40GB RAM
  • 2*Seagate SAS 6.0GB 15K RPM 2,5" 146GB Festplatten im RAID1
  • Software: Nginx, php5.3, mysql-server-5.5

TechDivision Testsystem mit Magento 1.12.0.2


TechDivision Testsystem mit Magento 1.13.0.2


Kunden-Relaunch mit Magento 1.13.0.2

Durch den Einsatz optimierter Hardware konnte der Relaunch erfolgreich umgesetzt werden.

Alt:

  • 2*Intel Xeon X5650 (6*2.67GHz)
  • 40GB RAM
  • 2*Seagate SAS 6.0GB 15K RPM 2,5" 146GB Festplatten im RAID1
  • Software: Nginx, php5.3, mysql-server-5.5,redis cache

Neu:

  • 1*Intel Xeon E5-2637 v2 (4*3.50GHz)
  • 64GB RAM
  • 2* Intel SSD DC S3500 Series 240GB
  • Software: Nginx, PHP-5.4, Percona-mysql-5.5, redis cache

Durch die deutlich höhere Power pro Kern und die durch SSD sehr geringe Latenz, die vor allem für die Datenbank von Relevanz ist, können komplexe Checkout-Prozesse erheblich schneller verarbeitet werden. Für Hochlastszenarien mit vielen gleichzeitigen Checkouts wäre das alte System natürlich besser geeignet. (Pro Sekunde also mehr als fünf Checkouts – geschätzt).


Vergleich der Performancesteigerung zwischen den Magento-Versionen


Abb.: 133 Prozent Performancesteigerung durch Magento-Update

Laufende Tests: Neues Performance-Level mit appserver.io

Durch den Einsatz der innovativen PHP Infrastruktur appserver.io, die neben einem hochperformanten Webserver auch diverse Zusatzdienste in einem aufeinander abgestimmten und praxiserprobten Komplettpaket mitbringt, kann – gemäß erster Ergebnisse aktueller Lasttests – die Performance des Kundenprojekts nach dem Magento-Update auf Version 1.13 nochmals erheblich gesteigert werden.

Die Performancetests auf Basis der aktuellen Magento Version mit nginx, Apache und appserver.io zeigen mitunter signifikante Geschwindigkeitsvorteile für appserver.io – ohne Anpassungen an Magento. Detaillierte Infos zum aktuell laufenden Performancevergleich werden wir sehr zeitnah veröffentlichen. Ein weiterer Vorteil von appserver.io ist die Unterstützung von Multi-Threading, durch das sich enorme Möglichkeiten ergeben.

Signifikant beschleunigte Importprozesse durch Multi-Threading

In vielen Shop-Szenarien stellt der Import einer großen Anzahl von Produkten ein konkretes Problem dar. Seitens PHP besteht grundsätzlich die Einschränkung, dass es, gestartet über die Konsole, per Definition ausschließlich in einem einzelnen Prozess läuft. Dies hat zur Folge, dass bei einem Datenimport von z. B. 100.000 Produkten, dieser, mit PHP Bordmitteln, auch nur auf maximal einem CPU Core ausgeführt wird. Somit wird, auch wenn ein Server mit 8 CPU's á 4 Cores zur Verfügung steht, beim Importprozess von den 32 verfügbaren Cores lediglich Einer verwendet. Rechnet man für den Import eines Artikels der Einfachheit halber 0.5 Sekunden, so kommt man auf immerhin stolze 14 Stunden, was sich in der Realität nur relativ schwer verkaufen lassen dürfte. Durch Multithreading ergeben sich hier vollkommen neue Möglichkeiten. Anstatt des Einen können alle 32 Cores verwendet werden. Die knapp 14 Stunden für den Import lassen sich somit drastisch reduzieren – im besten Fall rein rechnerisch auf 0.5 Stunden.

Auch wenn dieser Wert, da im Normalfall die Datenbank hier zum Engpass wird, natürlich rein theoretischer Natur ist, verdeutlicht er jedoch den Ursprung des Problems, nämlich das PHP ohne Multithreading in diesem Fall nicht alle verfügbaren Resourcen nutzt. Auch für diesen Fall gibt es natürlich Workarounds. So könnte man z. B. eine externe Message-Queue verwenden oder über die Konsole mehrere separate PHP Prozess starten. Eleganter und effizienter lässt sich das Problem jedoch durch den Einsatz von Multithreading, wie es z. B. die mit einem Anwendungsserver standardmäßig ausgelieferte Message-Queue zur Verfügung stellt, lösen. Über Diese lässt sich beispielsweise der Import, durch eine Aufteilung der zu importierenden Produkte in Bunches von jeweils 100 Artikel, parallelisieren. Der Import jedes Bunches erfolgt dann in einem eigenen Thread.

Fazit: 133 Prozent Performancesteigerung allein durch Magento-Update und Hardware-Optimierungen! appserver.io verspricht zusätzliche Verbesserungen!

Als Ausgangsbasis dient der initiale Testlauf eines typischen Kaufprozesses auf dem Kunden-Relaunch-System mit einer Laufzeit von 106,93 Sekunden. Nach Durchführung der Optimierungsmaßnahmen – d.h. Magento Update, TechDivision Performance-Patches sowie Upgrade der Hardware – verringert sich die Durchlaufzeit auf 45,8 Sekunden, was einer Performancesteigerung von ca. 133 Prozent entspricht. Neben dem Magento-Update versprechen auch die laufenden Tests mit appserver.io eine weitere Verbesserung der Performance. Die Ergebnisse dazu werden in Kürze bekannt gegeben. So viel sei verraten: Mit appserver.io beginnt eine neue PHP-Ära, die neben optimaler Performance ungeahnte Möglichkeiten sowie bislang nicht da gewesene Flexibilität bei Webprojekten garantiert!

Neueste Posts

Die größten Akquisitionen von Google, Amazon und Apple und einige Learnings daraus!
Neue Ausgabe des eStrategy-Magazin verfügbar 360 Stories – ein Spiel für Teams Die B2B E-Commerce Pyramide
Digital Storytelling - ein Kurztrip in die Kreativität und wieder zurück

Archiv

Dezember November Oktober September August Juli Juni Mai April März Februar Januar
Dezember November Oktober September August Juni Mai April Februar Januar
Dezember November Oktober September August Juli Juni März Februar
Oktober September August Juli Juni Mai April März Januar
Dezember November Oktober September August Juli Mai April Februar
November Oktober September April Februar
Dezember September Juni Mai Februar Januar
Juli Mai April März Februar Januar
September August Juli März
Oktober September Juli Juni Mai März Februar
Februar

Kategorien

E-Commerce Unternehmensmeldung Online-Marketing Magento Commerce Neos TYPO3 SEO SEA Usability Digitale Transformation Agile Projektentwicklung Corporate Web Analytics Künstliche Intelligenz Mobile Marketing Social Media Veranstaltungen Research & Development

Unser Herz schlägt online -
Deins Auch?


Wir stellen uns jeden Tag neuen Heraus-forderungen des Online-Business – immer auf der Suche nach spannenden Lösungs-ansätzen und sinnvollen Technologien. Eine Vielzahl namhafter Kunden vertrauen auf das Online Know-how „Made in Kolbermoor / Rosenheim und München“. 

Lust auf TechDivision? Hier geht zu unseren Stellenanzeigen

eStrategy Magazin


Erfahren Sie mehr zu den Themen E-Commerce, Online-Marketing, Mobile, Projektmanagement, Webentwicklung und E-Recht in unserem kostenlosen Online-Magazin.

Jetzt herunterladen!

Whitepaper:
Agiles Projektmanagement


In unserem kostenlosen Whitepaper versuchen wir Basiswissen und Erfahrungen aus vielen Jahren täglicher Projekt- und Unternehmenspraxis zu vermitteln, mit denen Sie die Anforderungen des Arbeitslebens von Heute besser bewältigen können.

Jetzt herunterladen!

Autor

Haben wir Ihr Interesse mit unserem Blog geweckt?

Wir sind der richtige Partner für anspruchsvolle Projekte im Bereich E-Commerce, Corporate Web, Consulting und Online-Marketing. Sprechen Sie mit uns!

Autor

Josef Willkommer Geschäftsführer / CMO