Utvecklingsbloggen

Johan Möller

Johan Möller

Vi har ända sedan i somras brottats med driftstörningar, som vi också skrivit om vid flera tillfällen. I senaste ronden ser det nu ut som vi, tillsammans med Aftonbladet, lyckats få knock-out på störningarna och nu klättrar vi ur ringen som segrare. Inget är förstås för evigt, snart kommer det nya utmaningar och vi har därför passat på att förbättra våra rutiner med våra driftleverantörer och konsulter.

Nedladdningstider för SvD.se. Period 27 sept - 26 okt. Källa: Pingdom
Tillgänglighet för SvD.se. Period 20 – 26 okt. Källa: Pingdom

I mediebranschen har vi inte varit ensamma om att ha driftstörningar under hösten. För de som eventuellt inte har brottat ned alla sina problem kommer här en lista på de 10 viktigaste åtgärder vi genomfört.

1. Installera mer minne – maskinerna levererades med 4Gb som vi tyckte verkade rimligt för ett år sedan, men minne är billigt idag och nu rullar vi med 12 GB RAM på de flesta servrar.

2. Upprätta en statisk backupsajt med färdiga html-filer. Var 15:e minut tankar vi ned en stor del av SvD.se och lagrar på annan plats. Denna kan sedan användas som alternativ back-end av cacharna om hela eller delar av vår miljö går ned.

3. Installera Java 1.5 – enligt Escenics rekommendationer stöds inte Java 1.5 i Escenic 4.3-2 som vi använder, men det fungerar alldeles utmärkt att uppgradera ändå. Genom att följa error-loggfiler kunde vi ganska snabbt upptäcka vad som behövde uppdateras/ändras för att det skulle fungera. Resultatet lät inte vänta på sig.

Nedladdningstider för SvD.se. Period 27 sept - 26 okt. Källa: Pingdom

Nedladdningstider för SvD.se. Period 27 sept – 26 okt. Källa: Pingdom

4. Använda mer minne – först nu kunde vi tilldela mer minne till applikationsservern som direkt betalade tillbaka i form av ca 40% snabbare svarstider och 50% lägre last på servrarna, med samma trafik. Dessutom landade minnesutnyttjandet, när applikationsservern själv fick välja, på en högre nivå än vi tidigare haft som maxgräns (2 GB med Java 1.4).

5. Optimera övervakningen – en automatiserad och mer exakt övervakning på de processer som är vitala för miljön, gör att driftpersonalen snabbare kan sätta in rätt åtgärder. Dessutom är Pingdom väldigt användbar som externt komplement.

6. Uppgraderingar av flera bibliotek och drivrutiner.

7. Minska whitespace – koden som cachas i servrarna är skriven med väldigt många tomma rader, tabbar och mellanslag. Genom att rensa detta i samband med exekvering lyckades vi halvera omfattningen på materialet som ska cachas. Mindre material ger ännu snabbare hantering, och lägre minnesutnyttjande.

8. Snabbare sidor – vissa sidor kunde vara riktigt långsamma, vilket allt som oftast beror på felaktigt skrivna databasfrågor. Genom att optimera dessa har vi kunnat minska belastningen på databasen och framför allt korta köerna dit. En uppgradering till Escenic 4.3-3 kommer ge ännu mer här.

9. Brottas med buggar – en hel del saker har förbättrats bakom kulisserna. Men det är svårt att hitta de krokiga nålarna i den stora höstacken.

10. Sist men inte minst – Varnish, vår älskade cache-server, har uppgraderats och kör nu med funktionen grace aktiverat, vilket innebär att den kan fortsätta leverera gamla objekt medan vi väntar på uppdateringar från back-end. Detta har sannolikt ensamt stått för lejonparten av vår nya tillgänglighet.

Fler bloggar