Die schnelle Website startet vorne, nicht hinten

Tags:

Auf Grund diverser Posts auf stackoverflow.com und in diversen Foren, auf Grund Googles Fettnäpfchenbeitrag zum Thema "Geschwindigkeitsptimierung in PHP" und einem Artikel von Nils Langner auf phphatesme.com hinsichtlich Mikro-Optimierung in PHP, entschloss ich mich, betiteltes Thema aufzugreifen. :-)

Bei mir gibt es mal grundsätzlich eine Devise: Zuerst Wartbarkeit, danach Geschwindigkeit!

Dieser Leitfaden zieht sich durch viele Aspekte meines Programmierens: Ich vermeide zum Beispiel kryptische Einzeiler, schliesslich muss ich niemandem beweisen wie gut ich bin. Lieber verstehe ich die Funktionalität ein Jahr später direkt auf Anhieb. Dann ziehe ich das Ding mit den Kommentaren konsequent durch. Das ist schon fast ein bisschen pedantisch, aber eine Methode ohne Docblock sieht einfach scheisse aus. Um es mal salopp auszudrücken. ;-)

Meist sind es PHP Anfänger die mit Fragen hinsichtlich Geschwindigkeitsoptimierung antraben. Dabei denke ich mir immer (ohne arrogant zu wirken), dass sie sich dann um sowas kümmern sollten, wenn es wirklich notwendig wird. Also zu einem späteren Zeitpunkt, wenn sie wirklich geschwindigkeitskritische Applikationen schreiben. Ob jetzt nämlich echo() oder print() schneller ist interessiert im Endeffekt niemanden - auch die Performancetests nicht. Bei sowas geht es nur um subjektives Empfinden, was man als hübscher empfindet und ob man in seinem kommenden PHP’ler Leben lieber tausendfach echo() oder print() schreiben möchte.

Aber eigentlich will ich ja gar nicht auf Optimierung im Backend eingehen. Was mich immer wieder erstaunt ist eher die Tatsache, dass sich viele (sehr viele) Webentwickler einen Deut um ihr Frontend scheren. Dabei geht da, durchschnittlich, viel mehr Zeit verloren als im Backend.

Ein Beispiel: Jeder Request für ein eingebundenes Bild, eine CSS- oder JavaScript-Datei braucht vergleichsweise viel Zeit. Ein HTTP-Request muss gesendet werden, der Server muss ihn verarbeiten und der Client die Antwort verwerten. Besonders schlimm wird es dann, wenn keine ordentlichen Headers mitgeschickt und die Dateien deshalb vom Browser nicht gecachet werden. Man denke mal an ein 500 KiB Foto das bei jedem Seitenaufruf geladen werden muss … autsch!

Vor etwa einem Jahr las ich Yahoo!’s "Best Practices for Speeding Up Your Web Site". Damals noch ein 12-Punkte-, heute ein 34-Punkte-Programm mit nützlichen Tipps zum Beschleunigen von Websites. Dabei geht es genau darum, worauf ich eigentlich hinaus will: Programmierer, schaut euch euer Frontend an!

Ich kann jedem Entwickler nur raten, sich die Punkte mal durchzulesen. Nicht alle sind für den individuellen Zweck sinnig, doch bekommt man gute Denkanstösse die man nach Möglichkeiten auch umsetzen sollte.

Ähnliche Artikel

Kommentare