Eine Fallstudie
Unser Kunde kontaktierte uns, weil die Google Search Console CLS-Fehler für seine Site meldete, die Site sei zu langsam.
Unsere erste Maßnahme bestand darin, die Fehlermeldung genauer zu untersuchen. Schnell stellten wir fest, dass diese nichts mit der Geschwindigkeit der Website zu tun hatte, die bei unseren ersten Tests subjektiv auch schnell antwortete. Wir kommunizierten unsere Erkenntnisse unverzüglich an den Kunden und konzentrierten uns auf die eigentliche Optimierung.
Durch die Verwendung von RRD-Statistiken aus unserem Monitoring und umfangreichen Zeitmessungen und Tests und curl, erhielten wir einen detaillierten Einblick in die Leistung der Website. Zusätzlich erweiterten wir das Apache CustomLog um Parameter zur Zeiterfassung, um die ergänzende Daten zur Anbalyse zu gewinnen.
Eine genaue Untersuchung der Daten ergab, dass die Zugriffe in drei Klassen eingeteilt werden konnten: schnell bis normal, langsam und sehr langsam. In Zusammenarbeit mit der Agentur, die die Website entwickelt, konnten den Klassen bestimmte Zugriffe zugeordnet werden. Die sehr lange dauernden Zugriffe waren Hintergrund-Jobs, die das System selbst erzeugt – und somit ohne Einfluss auf die User Experience.
Die schnellen Zugriffe kamen von Aufrufen, die die Site aus einem Cache beantworten konnte. Die langsamen Zugriffe hatten Inhalte, die sich nicht Cachen lassen und somit jeweils neu gerendert werden mussten. In Absprache mit Kunde und Agentur wurde vereinbart, sich bei der Optimierung auf diese Zugriffe zu konzentrieren.
Die weitere Analyse zeigte, dass trotz ausreichend vorhandenem Speicher und CPU, viele TCP Verbindungen lange im Status “WAIT” verblieben – allerdings ohne erkennbaren Einfluss auf die Load des Systems zu haben. Das ist für die Optimierung eine Sackgasse, denn das WAIT muss in diesem Fall von außen verursacht werden z.B. durch Abrufe mit Endgeräten mit schlechter Internetverbindung. Somit haben wir hier keinen Einfluss.
Im nächsten Schritt analysierten wir die Datenbank-Einstellungen mit Hilfe von “tuning-primer”. Als Ergebnis optimierten wir die Größe der Caches. Das Ergebnis war beeindruckend. Die Antwortzeiten verbesserten sich signifikant, was zu einer deutlich verbesserten Benutzererfahrung führte. Unser Kunde war mit dem Ergebnis sehr zufrieden und wir freuen uns, dass wir dazu beitragen konnten, ihre Website zu optimieren und ihre Ziele zu erreichen.

Leave a Reply