I august var e-conomic ramt af flere forskellige driftsproblemer, der gjorde, at man nogle gange ikke kunne logge på systemet eller at systemet gik i stå, når man arbejdede i det. Det har forståeligt nok frustreret vores kunder og det er vi meget kede af. Vi vil i denne blog fortælle mere om de tekniske problemer og hvad vi gør for at få en mere stabil drift fremover.

De tekniske problemer i august

Det var forskellige faktorer, der påvirkede vores system i august, hvoraf flere af dem var knyttet til problemerne med vores synkroniseringsservere.

De underliggende problemer, vi oplevede i august var:

CPU-belastning. D. 10. august oplevede vi en stor belastning på vores database, der fik systemet til at køre langsomt. Det viste sig, at problemet var et stykke kode som vi have implementeret i juli. Problemet blev først tydeligt, da sommerferien var ovre og vi igen havde mange kunder, der arbejdede i e-conomic på samme tid.

For at identificere og løse problemet, måtte vi d. 11. august køre på vores backup-database, for at se om problemet lå på vores hoveddatabase. Overgangen til vores backup-database tog 30 sekunder og loggede alle ud af e-conomic. D. 12. august fik vi lokaliseret og løst problemet.

Efter denne episode står det klart, at vi fremover skal være bedre til at handle, når vi ser mindre indikatorer på, at der er problemer i koden. På den måde kan vi nå at fikse det, før der kommer mange brugere på og det bliver et reelt problem, der rammer hele systemet.

Synkroniseringsservere. Dette var hovedproblemet i august – dvs. synkronisering mellem servere af de handlinger som vores kunder laver i e-conomic. Synkroniseringen mellem serverne gav os driftsproblemer fra d. 20. august og frem til momsindberetningen d. 1. september, hvor vi også havde rekordmange kunder på systemet på samme tid.

Typisk opstod problemerne i denne periode, når der kom mange kunder på systemet. Synkroniseringsserverne kunne ikke følge med og begyndte derfor at lave kø på handlinger i systemet, hvilket førte til lange svartider. I denne periode måtte vi flere gange genstarte serverne i peak-perioder, hvorefter systemet langsomt ville komme tilbage til normal drift.

Vi er i gang med at undersøge, hvor vi kan optimere vores synkronisering i de forskellige dele af e-conomic. Nogle steder vil være nødt til at omskrive kode, så systemet kan håndtere flere handlinger på samme tid (fx at sende og modtage data).

Udskiftning af servere. Vi har planlagt at udskifte vores synkroniseringsservere d. 26. september, så de fremover kan følge med antal af handlinger, der foretages i e-conomic. I denne forbindelse skal vi også opdatere vores SQL-server på vores hoveddatabase og e-conomic vil derfor være utilgængeligt d. 26. september kl. 18.00 til kl. 6.00 næste morgen.

Hosting-udbyder og eksterne servicer. Ud over vores interne udfordringer, oplevede vi også problemer med netværksforbindelsen hos vores hosting-udbyder. Det viste sig d. 27. august, hvor forbindelsen til vores servere forsvandt, så man hverken kunne komme på e-conomic, vores website eller blog.

 

Hvad vi gør herfra

Først og fremmest arbejder vi på at sikre en stabil drift op til næste momsindberetning d. 1. december, hvor vi igen vil opleve høj belastning og mange kunder, der arbejder i e-conomic samtidigt. Det betyder, at vi fra nu af og frem til november har sat alle ressourcer og relevant personale til at arbejde på dette projekt.

Vores planlagte opdatering og udskiftning af servere d. 26. september vil tage os et stort skridt i den rigtige retning i forhold til stabil drift ved store belastninger. Derudover har vi sat gang i en række tiltag, der skal sikre, at vi ikke kommer til at opleve disse problemer igen.

Vi er i gang med at gennemgå alle dele af vores setup for at finde ud af, om vi kan lave forbedringer, der vil gøre vores system hurtigere og mere stabilt. Dette inkluderer netværk, hardware, database, operativsystemer, opdateringssetup, eksterne servicer og de specifikke koder bag systemet.

På kortere sigt, dvs. indtil næste momsindberetning, ser vi først og fremmest på:

  • Opgradering af operativsystem
  • Forbedring af synkroniseringsprocesser
  • Sikre uafhængighed fra eksterne servicer
  • Optimering af specifikke dele af e-conomic (kode)
  • Forbedre programmets håndtering af ’spinnere’ (loading-symbol) og serverfejl

Problem med ’spinner’ / loading-ikon / e-conomic går i stå

I forhold til det sidste punkt med ’spinnere’: Flere kunder oplever, at e-conomic går i stå med en ’spinner’, der indikerer at programmet arbejder/henter data uden at der sker mere, selvom driften i e-conomic er normal. Vi mener, at dette skyldes, at vores program ikke henter data korrekt fra browseren. For kunden virker det som om, at e-conomic er gået i stå.

For at løse dette problem er vi i gang med at monitorere de ’spinnere’ der løbende er i e-conomic, for at få et bedre overblik over, hvor i e-conomic de opstår samt hvem der er berørte.

Planer på længere sigt

Vi kigger fortsat på forskellige dele af vores setup for at finde områder, der kan optimeres.

Helt konkret planlægger vi at flytte e-conomic til en anden type infrastruktur, der kan øge modstandskraften. Vi planlægger også at ændre i vores opbygning, sådan at vi lave funktioner og kunder mere uafhængige af hinanden i forbindelse med driften.

Vi fortsætter med at have vores fokus på performance og stabilitet, både her og nu og på længere sigt.

På vores Techtalk-blog kan du læse flere detaljer om driften i august.