Selvitys häiriöistä ja hidastelusta 22.-23.11.2018 (Black Friday)

Hitaina sivulatauksina ilmennyt ongelma johtui yksittäisestä hankalasti paikannettavasta virheestä palvelinkonfiguraatiossa. Häiriön vaikutusten rajoittamiseksi tehtyjen toimen­piteiden ansiosta verkko­kauppojen vasteaikaa saatiin kuitenkin pudotettua jopa noin 25 %. 

MyCashflow-verkkokaupoissa havaittiin häiriöitä ja hitaita sivulatauksia torstai-iltana 22.11. sekä perjantaina 23.11. aamupäivällä. Ongelmat koskivat sekä kauppojen julkista puolta että hallintatyökalua.

Pääasiassa hitaina sivulatauksina ilmennyt ongelma johtui yksittäisestä virheellisestä palvelinkonfiguraatiosta, joka aiheutti ongelmia ja paljastui vasta palvelinten suorituskykyä rasittavan kuorman alla.

Tilannetta edeltäneet toimenpiteet

Black Fridayn suosio ja lisääntynyt liikenne ei tullut MyCashflow’n ylläpidolle yllätyksenä, ja sen haasteisiin oltiin varauduttu useilla eri toimenpiteillä pitkin vuotta.

Viimeisimpinä ennalta ehkäisevinä toimenpiteinä mm. lisäsimme palvelinten kapasiteettia ja siirsimme osan verkkokaupoista väliaikaisesti omille tietokantapalvelimille.

Tapahtumien kulku

Ongelmat alkoivat torstai-iltana, jolloin palvelinten kuorma kasvoi kauppojen julkaistessa Black Friday -kampanjoitaan, ja lisääntynyt liikenne näytti aiheuttavan hidastelua verkkokauppojen sivulatauksissa. Torstaina havaitut hidastelut saatiin kuitenkin kuriin myöhään torstai-iltana ylläpitotoimien ja liikenteen luonnollisen vähentymisen myötä.

Latausajat hidastuivat kuitenkin uudelleen perjantaiaamuna liikennemäärien kasvaessa, jolloin ongelman selvittelyä jatkettiin samalla kun ongelman vaikutuksia pyrittiin rajoittamaan tekemällä levy- ja tietokantapalvelinten kuormaa vähentäviä hotfix-pikapäivityksiä. Tällaisia nopeutettuja suunnittelu-koodaus-katselmointi-testaus-julkaisuprosesseja toteutettiin perjantaiaamupäivän aikana yhteensä noin 10 kappaletta.

Lopullinen ratkaisu hitaisiin latausaikoihin löydettiin yhdessä MyCashflow’n sekä palveluntarjoajamme Nebulan ylläpidon kanssa. Yksittäinen inhimillisestä virheestä johtunut palvelinkonfiguraatio aiheutti pullonkaulan infrastruktuurissa, joka muuten olisi suoriutunut kasvaneesta kuormasta hyvin.

Ongelman selvittämistä vaikeutti se, että virheellinen palvelinkonfiguraatio aiheutti oireita ja pystyttiin havaitsemaan vasta normaaliin verrattuna moninkertaisen kuorman alla. Ongelman paikantamisen jälkeen vika saatiin nopeasti korjattua.

Korjauksen jälkeen Black Fridayta varten toteutetut toimenpiteet toimivat suunnitellusti ja kauppojen toiminta palautui nopeasti normaaliksi. Vaikka liikennemäärät kasvoivat perjantai-iltana reilusti yli torstai-illan ja perjantaiaamun maksimitasojen, palvelimet suoriutuivat valtavasta kuormasta ilman ongelmia.

Jatkotoimenpiteet

Pahoittelemme ongelmaa ja kehitämme tapauksen johdosta palvelinympäristömme kuormanhallinnan testausta ja prosessejamme häiriötilanteisiin reagoimiseksi, jotta pystymme tarjoamaan jatkossa parempaa ja luotettavampaa palvelua, erityisesti kävijäpiikkien ja hetkellisesti kasvaneiden kuormien aikana.

Varaudumme kävijäpiikkeihin ja kuormittaviin kampanjoihin myös kehittämällä erilaisia väliaikaisia ja pysyviä optimointeja kooditasolla. Tapaus osoitti, että ketterillä hotfix-päivityksillä voidaan rajoittaa häiriötilanteen vaikutuksia samalla kun ongelmaa ratkaistaan.

Kyseisen tapauksen selvittelyn aikana toteutettujen rajoitustoimenpiteiden tuloksena MyCashflow-verkkokauppojen vasteaikaa saatiin pudotettua Black Fridayta edeltävästä ~400 ms tasosta alle 300 ms:iin eli noin 25 %.