Problemer med Pridok websider
Incident Report for Pridok AS
Postmortem

Sammendrag

På mandag 20.03.23 opplevde Pridok EPJ flere driftsproblemer i løpet av arbeidsdagen. Mistanken ble tidlig rettet mot en tjeneste i Microsoft Azure som kobler websidene våre mot andre Pridok-tjenester og databaser. Etter et tett samarbeid med Microsoft, har vi konkludert med at feilen sannsynligvis skyldes en kombinasjon av feil i koden vår og tregheter i Azure-nettverket som oppstod sporadisk den dagen.

Tregheten førte til at forespørsler til websidene våre tok lengre tid enn vanlig å besvare. Etter hvert mottok vi flere forespørsler enn vi klarte å håndtere, og dette førte til at forespørsler køet seg opp og endte i stopp som kunne vare i flere minutter.

Selv om det ikke er ønskelig å oppleve tregheter som dette, har vi tatt dette som en viktig erfaring og jobbet hardt med å finne løsninger på problemene. Vi har de siste dagene gjort flere forbedringer i programvaren for å forhindre at lignende stopp skjer igjen, og vil fortsette med dette tiden som kommer.

Vi beklager på det sterkeste ulempene som stoppene har ført med seg, og vil fortsette å jobbe hardt for å forbedre systemet vårt og gi en bedre opplevelse for våre brukere.

Teknisk beskrivelse

Stoppene er registrert i fem perioder i løpet av mandagen: 0926-0936, 1102-1103, 1211-1214, 1255-1305 og 13:51-14:13.

Når en bruker gjør noe mot websiden så resulterer det nesten alltid i at en database må aksesseres. Antallet samtidige connections mot en database er begrenset for å beskytte databasen, og disse ble brukt opp på grunn av trege responstider fra databasen. Når alle connections er brukt opp legges nye forespørsler i kø, og etter 30 sekunder gir tjenesten opp og bruker får en feilmelding.

Stoppene skjedde i en tid på dagen hvor Pridok er skalert til høyest ytelse, og de påvirket alle brukere nesten samtidig. Vi mistenkte derfor at problemet lå i Azure.

Vi etablerte kontakt med Microsoft support for bistand med feilsøking, samtidig som vi gjennomgikk egne logger for å se om feilen var hos oss. Supportteamet til Microsoft koblet oss raskt videre til tekniske team hos dem (database, web og nettverk), og vi jobbet tett med dem gjennom dagen og kvelden for å feilsøke problemet.

Database- og webteamene fant ikke noe galt i sin monitorering eller logger, men kom med innspill til justeringer i oppsettet vårt som vi har implementert. Nettverksteamet jobber fortsatt med å undersøke på sin side og har ikke gitt oss sin konklusjon ennå. Det vi derimot kunne se på mandag var en feilmelding i nettverksdiagnose som ble kjørt som kan forårsake problemet vi opplevde.

I parallell med dette har vi gjennomgått egne logger og identifisert to spørringer som kan forårsake stopp for alle brukere hvis systemet blir overbelastet. En hotfix for disse ble lagt ut i produksjon mandag kveld og tirsdag morgen.

Vi jobber også med å bygge inn støtte i applikasjonen for å varsle denne type feil på et tidligere tidspunkt, for å forhindre at tilsvarende problem oppstår igjen.

Inntil vi har dette på plass samt fått en endelig konklusjon fra Microsoft, så kjører Pridok for sikkerhets skyld på 50% høyere kapasitet enn normalt.

Posted Mar 22, 2023 - 20:25 CET

Resolved
Vi får meldinger om feilmeldinger som oppstår ved bruk av Pridok
Posted Mar 20, 2023 - 09:30 CET