arko GmbH – Performance Optimierung für TV-Auftritt bei Undercover Boss

Caching Magento Performance

Mit etwa einem Monat Vorlauf auf den Sendetermin von „Undercover Boss“ bat uns die IT-Abteilung der Firma arko GmbH um die Unterstützung bei der Optimierung der Frontend-Performance Ihrer CMS-Seiten zur Unternehmenspräsentation.

Die CMS-Seiten werden aktuell auf Basis eines älteren Magento 1 Shops betrieben.

Der Shop selbst wurde bereits durch ein neueres Setup abgelöst. In der Regel werden alle IT-Dienstleistungen im eigenen Haus von arko erbracht.

Analyse der Ausgangssituation

Im ersten Schritt haben wir die Ladezeiten analysiert, welche mit deutlich über zwei Sekunden insbesondere für die statischen Inhalte der CMS-Seiten ungewöhnlich hoch lagen.

Im Detail zeigte sich hier ein Anteil von beinahe 100% auf die Antwortzeit des Servers (Time To First Byte).

Insgesamt eine Situation mit viel Potential zur Optimierung der Performance im Hinblick auf das anstehende TV-Ereignis.

Möglichkeiten, Kosten und Nutzen

In einem gemeinsamen Telefontermin haben wir die aktuelle Situation sowie den Aufwand und die damit verbundenen Kosten verschiedener Maßnahmen beleuchtet.

Anpassungen am Magento 1 Shopsystem sowie der Wechsel auf eine performante Hosting Umgebung z.B. mit Varnish Caching erschienen zu aufwendig und damit auch zu kostenintensiv.

Ein vielversprechender Ansatz lag schließlich darin, Cloudflare einzurichten und so gleichermaßen vom Caching und dem Content Delivery Network (CDN) des Anbieters zu profitieren.

Wir durften gespannt sein 🙂

Als Agentur haben wir vor allem durch unsere Analysefähigkeit und eine lösungs-orientierte Beratung überzeugt und waren nun auf die Rückmeldung des Kunden und die resultierenden Ladezeiten nach Einrichtung der Cloudflare-Lösung gespannt.

Doch komisch, etwas stimmt noch nicht!

Die Rückmeldung war allerdings ernüchternd, da die Ladezeiten weiterhin deutlich über zwei Sekunden lagen.

Also haben wir die Situation erneut analysiert und sind nun schnell auf den Cache-Control Header aufmerksam geworden.

Ein solcher Cache-Control Header sorgt natürlich maximal dafür, dass die Antwort nicht durch einen Cache ausgeliefert wird. Es war also zu prüfen, ob dieser Header bereits von Magento an Cloudflare gesendet wurde oder lediglich von Cloudflare an den Browser des Besuchers.

Das geübte Auge erkennt hier schnell den Standard eines Magento Response Objekts. Auch der direkte Vergleich der Response Header von Cloudflare und dem eigentlichen Backend Webserver bestätigt dies.

Wie entlastet man nun aber den Backend Webserver durch Caching und verbessert so die Frontend-Performance und die Ladezeiten für den Besucher?

Caching für Magento richtig einrichten

Hierfür bietet Cloudflare eine Anleitung für die Einrichtung sog. Page Rules unter dem Titel „Caching Static HTML with Magento“ und ermöglicht so das Caching von Magento CMS-Seiten trotz o.g. Cache-Control Header.

Schließlich empfängt der Besucher einen geänderten Cache-Control Header und darf die Informationen nun ebenfalls für einen gewissen Zeitraum als gültig betrachten.

Eine erneute Auswertung der Ladezeiten zeigte nun den gewünschten Effekt.

Die Ladezeiten liegen konstant im Bereich von 400 ~ 600 Millisekunden. Die Antwortzeiten liegen bei nur wenigen Millisekunden.

Aufgrund der Infrastruktur von Cloudflare bleiben diese Werte nun auch bei einem starken Besucheraufkommen (TV-Kampagne) gewährleistet!

Lösung! Schnell, günstig und zufrieden!

Insgesamt bietet dieses Vorgehen einen kostengünstigen Ansatz, der den Anforderungen des Kunden entspricht und ohne großen Aufwand auf ein vorhandenes System angewendet werden konnte.

Alternativen zu Cloudflare bieten z.B. MaxCDN und MyraCloud.