Performance Spielereien

Bildschirmfoto 2016-05-18 um 20.50.41“Wordpress ist total lahm und lässt sich mit HTTPS nicht vernünftig nutzen und Apache mit PHP ist ja auch nicht mehr so optimal” hat mir ein Bekannter neulich erzählt.

Ich war anderer Meinung und habe Lust bekommen,  Performanceoptimierung zu betreiben, mit Software herumzuspielen und auszuprobieren ob die These stimmt – oder widerlegt werden kann.

Zu Anfang lag da noch ein alter Blog rum. Dieser hier. Oll, langsam, die Leserzahlen egal – ein idealer Kandidat für meinen Versuch.

Stylesheet aufräumen

Zunächst habe ich das Stylesheet aufgeräumt und viele schwere und unnütze Webfonts durch einen leichtgewichtigeren ersetzt. So kam ich von ~7MB, die in 12s auf etwa 6,1MB, die laut Webpagetest Performance Messtool in 11s geladen waren. 11s – eine halbe Ewigkeit. In der Auswertung sah ich, dass vor allem die Bilder auf der Webseite einen grossen Anteil (>50%!) am gesamten Seitenvolumen hatten.

Lazy Loading und Bilder komprimieren

Um dem entgegenzuwirken suchte ich eine Möglichkeit die Bilder im nicht sichtbaren Teil der Webseite erst zu Laden, wenn sie benötigt werden (oder kurz vorher). Also ein sogenanntes “Lazy Loading” einzurichten. Hierfür gibt es ein passendes WordPress Plugin (“Lazy Load”), mit dem der Job recht flott erledigt war. So werden beim Seitenaufruf erstmal nur die Thumbnails geladen, aber nicht mehr die kompletten Bilder.

Den Standardwert für die Bildkomprimierung habe ich ausserdem von 95% auf 80% gesenkt, ansonsten hätten viele Bilder doch zu sehr an Qualität eingebüsst. In einem Fotoblog darf man ruhig wenig komprimierte JPEGs zeigen, auch wenn diese Dateien dann etwas grösser ausfallen.

Diese Massnahmen haben die Ladezeit aber immerhin auf etwa 6s gedrückt und die Gesamtseitenkapazität auf etwa 700kB reduziert. Damit könnte man leben. Wenn da nicht diese 3s Time to first Byte in der Webpagetest Auswertung gewesen wären. In 3s laden moderne Webseiten inkl. Rendering im Browser. In 3s treffen Finanzalgorithmen Millardenentscheidungen in hunderten von Transaktionen. In 3s ändert sich die Welt.

Schneller!!!

Meine Vermutung war, dass eines der installierten Plugins dafür verantwortlich ist, dass es so lange dauert bis WordPress das erste Byte an den Browser ausliefert. Ich probierte also alle Plugins der Reihe nach durch (Messen, deaktivieren, messen…jeweils mehrere Zyklen) und identifizierte auf diese Art zwei Plugins die Zeit stehlen.

Interessanterweise kostete das W3 Total Cache Plugin fast 2s, obwohl es eigentlich zur Performanceverbesserung gedacht ist. Das veraltete Statistikplugin, dass im Hintergrund lief und Dinge tat, von denen ich keine Ahnung hatte und dabei alles bremste kostete nochmal etwa 1s.

Jetzt hatte ich also eine WordPress instanz, die etwa ein Zehntel der ursprünglichen Grösse hatte und in einem viertel der Zeit lädt. Blöderweise hatte ich dadurch den Cache und die Lesestatistik eingebüsst. Suboptimal. Ersteres bremste jetzt bei jedem weiteren Seitenaufruf und letzteres verhindert, dass ich sehe welche Artikel am meisten gelesen werden (schade, aber zu verschmerzen).

Johnny Cache alias Varnish.

Ich dachte über eine Architekturänderung nach. Bisher lief der Apache Webserver im Standalone Modus und machte alles alleine. Für das Caching habe ich spaßeshalber einen Varnish Cache davorgehängt – und siehe da: Die Ladezeiten beim zweiten Aufruf waren wieder da wo sie hin sollten: Im Keller. Ganz unten. Top!

Und dank neuem, passiven Statistikplugin sehe ich jetzt wieder die Seitenaufrufe, aber ohne störende Nebenwirkungen auf die Time-to-first-Byte (TTFB).

Und HTTPS?

SSL hätte ich ja auch gerne noch, dachte ich so. Vor allem im Hinblick auf die vielen Browserfeatures die in den Chromes, Firefoxes und Edges dieser Welt Stück für Stück nur noch per HTTPS zur Verfügung stehen bzw. stehen werden. Also flugs einen HA-Proxy als SSL Terminator vor den Varnish Cache geklemmt, ein LetsEncrypt SSL Zertifikat installiert – und erstmal nur Probleme gehabt: Redirect Loops, Security Warnungen wenn Seiteninhalte teilweise per HTTP geladen wurden, Browserfehler…Blöd.

Um die Warnungen vor gemischt geladenem Content zu verhindern habe ich das “SSL Insecure Content Fixer” Plugin installiert und einige Plugins mit hartkodiertem Protokoll in den URLs (z.b. das Google Translate Plugin) per Hand angepasst. Die Redirect Loop Probleme waren eine Mischung aus fehlerhafter HA-Proxy, Varnish und WordPress Config gepaart mit einer WordPress Default URL die mit “http://” begann.

Nachdem nun alle Probleme ausgemerzt sind läuft die Kiste. Genauer: das Blog ist flott geworden. Flotter als es jemals war.

In Zahlen: First Load: ~3,8s, 670kB. Second Load: 2,7s, 64kB.

Und das mit ein paar wenigen nicht so komplizierten Handgriffen. Die These meines Bekannten ist damit hinreichend widerlegt. Oder?

Auf jeden Fall war es ein Grund seit langer Zeit wieder einmal einen Artikel hier zu posten.

Meine 2013er Favoriten

Fast noch ein Jahresrückblick auf 2013.

Nun bin ich endlich dazu gekommen, meine 2013er Bilder durchzusehen und den verbleibenden Teil ins Archiv zu schieben. Bei der Gelegenheit habe ich einige für mich besondere Aufnahmen in einem separaten Topf mit der Aufschrift “Meine Lieblingsaufnahmen des Jahres 2013″ gesammelt.

5_20130104-223416-002

Das Jahr 2013 begann mit einem hammermässigen Konzert von Albie Donnelly’s Supercharge in der Unterfahrt.

5_20130217-152621-003Im Februar besuchte ich dann das erst wenige Wochen alte Drillbaby Nepomuk im Tierpark Hellabrunn.

5_20130317-194355-005

Die zum St. Patrick’s Day grün angestrahlte Allianz Arena war auch ein fotografisches Highlight. Wobei “Highlight” sich auf die Lichter bezieht, mit denen die Allianz Arena angestrahlt wurde – ansonsten war es eine doch etwas langweilige Aktion dort draussen.

5_20130613-143759-0155_20130613-143602-0145_20130613-143526-0135_20130613-142953-012

Im Juni gelangen mir in der Südbretagne erstmals Fotos von Wellen, mit denen ich zufrieden war. Nicht dass ich es nicht schon vorher probiert hatte, aber diese Serie war einfach etwas besonderes für mich.
5_20130606-220437-011Ebenfalls auf diesem Törn, im kleinen, malerischen Ort Le Bono im Golf du Morbihan entstand dann das Bild des ausgetrockneten örtlichen Hafenbeckens.
5_20130701-051548-016Bei Carnac hatte Obelix seinerzeit wohl sein Hauptlager. Auf alle Fälle stehen hier, niemand weiss so richtig warum, kilometerweit irgendwelche Hinkelsteine in der Gegend herum.
5_20130806-192654-046Sehr beeindruckt hat mich auch der Besuch der “Pommern”, dem letzten noch nahezu im Originalzustand erhaltenen Flying P-Liner, der in Mariehamn seine letzte Pier gefunden hat und jetzt den Status eines Museumsschiffs inne hat. Das war im August 2013 und wir hatten – ungewöhnlich für diese Gegend – zwei Wochen lang Sonne und den Wind stets aus der richtigen Richtung.

5_20131005-185043-017In Neapel landete dann im Oktober dieses Bild mit dem glühenden, brodelnden Neapel und dem stummen Vesuv auf dem Sensor meiner Kamera. Von der Burg San Elmo aus hatte man Nachts eine hervorragende Aussicht über die Stadt.

5_20131009-182937-018Ein Stück weiter südlich, in Piano di Sorrento, gab es dann diese surreal wirkende Aussicht, von der ich aus verständlichen Gründen einfach ein Bild machen musste.
5_20131223-143831-021Im Dezember schliesslich sah ich erstmalig aus sehr kurzer Distanz einen Grünfink. Er posierte minutenlang, bis er dann irgendwann doch weiterflog. Und dann war das Jahr auch schon wieder so gut wie rum.

Fotos habe ich in diesem Jahr viele gemacht, einige wenige Keeper behalten. Noch weniger davon konnte ich hier auf dem Blog zeigen. Das meiste waren tatsächlich Familienportraits und sonstige Knipsbildchen (auch Testfotos) für den privaten Gebrauch.

Interessant war für mich im Rückblick auch zu sehen, mit welchen Kameras und Objektiven die Bilder entstanden sind. Das Technikkarussel drehte sich in diesem Jahr 2013 jedenfalls sehr schnell. Sogar für meine Verhältnisse. Anfang des Jahres fotografierte ich noch mit der Fuji X-Pro1. Der kleine Drill war Teil meiner D600 Leidensgeschichte, die relativ schnell wieder beendet war und durch eine D800 Leidensgeschichte ersetzt wurde. Das war kurz bevor ich dann mit der D800 in der Bretagne zufrieden unterwegs war. Und damit war grade mal ein halbes Jahr rum.

Weiter gings mit dem Kauf der fies-roten Panasonic GF5, die mir dann prompt in Rom geklaut wurde und anschliessend durch eine GF6 ersetzt worden ist. Danach blieb die Hardwaresituation erstmal weitgehend stabil, bis im September erst eine gebrauchte Pentax K-7 den Weg in meine Fototasche fand, nur um dann kurz vor Weihnachten von einer silbernen K-3 abgelöst zu werden. Über die verschiedenen Objektive die den Weg zu mir und von mir zu anderen gefunden haben oder die Kameras, die nur für ein paar Knipsbildchen benutzt wurden wie z.B. die Sony R1, die mir im März zugelaufen war, und die seitdem in der Ecke liegen will ich gar nicht erst nachdenken.

Als Fazit bleibt mir da nur zuzugeben: Ich hab zuviel Technikkrempel ausprobiert in diesem Jahr und mich zu wenig aufs Fotografieren konzentriert. Hoffen wir mal, dass das in 2014 besser wird.

In der Botanik über Weihnachten…

5_20131223-124851-003“Grüne Weihnachten” scheint sich vom Trend zum Standard zu entwickeln. So war auch der diesjährige Heiligabend mit Tageshöchstwerten um 17 Grad keine Ausnahme – und vor allem wieder nicht weiß.

So grün ist es dieses Jahr, dass auch die Schneekanonen am Olympiaberg keine Chance gegen die Frühlingshaften Temperaturen haben und das Neujahrs-Ski-Slalomrennen abgesagt werden musste.

Und seit dem 21.12.2013 gibts auch wieder Schmetterlinge im Botanischen Garten in München zu sehen. Was liegt also näher als sich mit der Kamera in den warmen Gewächshäusern zu verkriechen, ein paar exotische Pflanzen und Tiere abzulichten und sich zwischendurch Kaffee und Kuchen auf der Terasse des angeschlossenen Cafes schmecken zu lassen. Kurzerhand hab ich also die K-3 und das Tamron 70-300/4-5,6 geschnappt und bin ab in den Botanischen Garten.

Was herauskam hat mich beeindruckt. Das meiste war zwar High-ISO. Blende 8, kurze Belichtungszeiten und grauer Himmel haben eben ihren Preis. Dennoch war alles rauschfrei genug um gedruckt zu werden. Dank dem K-3 Sensor konnten die ISO3200 Bilder noch um bis zu zwei Blenden gepusht werden ohne dass es hässlich wurde.

Drinnen konnte ich ein paar schöne Aufnahmen machen und auch draussen im Freigelände kam das ein oder andere Bild fürs Album zustande. Mein persönliches Highlight aber war der junge Grünfink, der in etwa 2 Metern Entfernung vor mir in einem Busch landete und eine Weile posierte bevor die Sonne dann endgültig weg war und ich die Heimreise antrat.

5_20131223-130315-013 5_20131223-130451-014 5_20131223-130545-015 5_20131223-132755-023 5_20131223-133047-024 5_20131223-134002-028 5_20131223-134347-031 5_20131223-134417-032 5_20131223-143444-036 5_20131223-143831-039