Kevään Abitti 2 -koeviikon opit ja Koejakajan kesäkorjaukset

 In Yleinen

Koulujen siirryttyä kesälomille Koejakajan kehitystyö on jatkunut kevään kokemusten pohjalta. Kevään koeviikko oli monelle lukiolle ensimmäinen laaja koeviikko, jossa kurssikokeet järjestettiin Abitti 2:lla. Samalla se oli kaikille tärkeä käytännön koe siitä, miten Koejakaja, koepalvelimet, koulujen verkot, Oma Abitti ja Abitti 2:n nopeasti kehittyvä kokonaisuus toimivat todellisessa kuormassa.

Kevään aikana Koejakajassa ja koepalvelimilla nähtiin myös ongelmia. Kouluille ne näkyivät erityisesti vastausten hitaana palautumisena Oma Abittiin. Joissakin tilanteissa palautusten viive vaikutti myös seuraavien kokeiden käynnistymiseen. Lisäksi osassa kouluja ongelmat näkyivät kokeeseen liittymisen hitautena tai koeverkon kuormittumisena juuri kokeen alkuhetkellä.

Tässä kirjoituksessa käymme läpi, mitä keväällä tapahtui, mistä ongelmat arviomme mukaan johtuivat, mitä olemme tehneet kesän aikana ja miten vastaaviin tilanteisiin varaudutaan jatkossa.

Mitä ongelmia kevään aikana oli?

Yleisin ongelma liittyi koevastausten palautumiseen Oma Abittiin. Koe saattoi päättyä normaalisti, mutta vastauspaketin automaattinen palautus jäi jonoon, eteni hitaasti tai epäonnistui ensimmäisellä yrityksellä.

Joissakin tapauksissa palautusviive vaikutti myös seuraavan kokeen käynnistymiseen. Näin saattoi käydä esimerkiksi silloin, jos saman päivän aikana oli useita erillisiä kokeita ja koepalvelin tulkitsi edellisen kokeen palautuksen olevan vielä kesken.

Kevään tilanteissa keskeinen ongelma oli automaattisen palautuksen viivästyminen. Vastaukset olivat lähtökohtaisesti tallessa koepalvelimilla. Tiedossamme ei ole, että vastauksia olisi tämän palautusviiveen vuoksi kadonnut.

Toinen keväällä näkynyt ongelmaryhmä liittyi kokeiden käynnistymiseen ja opiskelijoiden liittymiseen kokeeseen. Osassa ympäristöistä koeverkko kuormittui voimakkaasti juuri kokeen alussa. Käytännössä suuri määrä opiskelijoiden koneita saattoi hakea samanaikaisesti kokeen aloitukseen liittyviä komponentteja, mikä aiheutti joissakin verkoissa ongelmia esimerkiksi tukiasematasolla.

Miksi ongelmat tulivat näkyviin juuri nyt?

Juurisyy ei ollut yksi yksittäinen vika, vaan usean muutoksen ja kuormitustekijän yhteisvaikutus.

Suurin muutos aiempaan oli Abitti 2:n käyttöönotto laajassa kurssikoekäytössä. Abitti 2 on edelleen aktiivisesti kehittyvä järjestelmä, ja kevään aikana siihen liittyi tavallista enemmän teknisen valvonnan ja vian selvittämisen tarpeisiin tehtyä lokitusta. YTL kertoi toukokuussa, että palvelimelle ja kokelassovelluksiin oli lisätty lokitietojen keruuta harvinaisten ongelmien selvittämiseksi.

Meidän havaintojemme perusteella tämä lokitus kasvatti paikoin vastauspakettien kokoa erittäin paljon. Joissakin tapauksissa vastauspaketti saattoi olla yli gigatavun kokoinen, vaikka varsinaisten vastausten koko oli vain murto-osa tästä. Tämä on merkittävä muutos aiempaan tilanteeseen.

Kun suuri määrä kouluja palautti samaan aikaan poikkeuksellisen suuria vastauspaketteja, syntyi palautusaalto, joka paljasti pullonkauloja sekä Koejakajan taustajärjestelmissä että koepalvelinten lähetyslogiikassa. Lisäksi Oma Abitti saattoi kieltäytyä ottamasta vastaan liian suuria tai liian hitaasti latautuvia vastauspaketteja. Tällöin palautus jäi koepalvelimen näkökulmasta kesken, vaikka vastaukset itsessään olivat edelleen tallessa.

Myös kokeeseen liittymisen kuorma oli keväällä aiempaa suurempi ja näitä ongelmia on esim. YTL omaltaosaltaan selvittänyt. YTL:n Linux-kokelastikkuun on nyt kevään jälkeen tullut muutoksia, joissa kokeen alun verkkokuormaa pienennettiin siten, että opiskelijaa kohti ladataan 250 megatavua vähemmän dataa. Lisäksi Kokelastikussa on korjattu ongelma, joka saattoi aiheuttaa tarpeetonta mDNS-liikennettä avoimiin verkkoihin.

Nämä muutokset tukevat hyvin kevään havaintoa, että osa ongelmista ei johtunut pelkästään yhdestä palvelimesta tai yhdestä koulun verkosta, vaan Abitti 2:n uuden toimintamallin aiheuttamasta samanaikaisesta kuormasta.

Mitä olemme tehneet Koejakajassa?

Kevään ongelmat ovat ohjanneet Koejakajan kesäkehitystä hyvin konkreettisesti. Olemme käyneet läpi kevään ongelmatapauksia, purkaneet pullonkauloja ja parantaneet erityisesti sitä, miten järjestelmä käyttäytyy ruuhka- ja virhetilanteissa.

Koejakajan ja sen taustajärjestelmien kykyä käsitellä poikkeuksellisen suuria vastauspaketteja on parannettu. Tavoitteena on, että yksittäiset suuret vastauspaketit tai samanaikaiset palautukset eivät aiheuta samanlaista kasautumista kuin keväällä.

Koepalvelinten vastausten lähetystä on myös parannettu. Erityistä huomiota on kiinnitetty siihen, miten järjestelmä selviää tilapäisistä verkkokatkoista, hitaista yhteyksistä ja yksittäisistä epäonnistuneista lähetysyrityksistä. Palautuksen ei pitäisi jäädä pysyvään virhetilaan vain siksi, että yhteydessä tai vastaanottavassa palvelussa on hetkellinen häiriö.

Kesän aikana koepalvelimet on päivitetty samoihin versioihin, ja kevään aikana tehtyjä mahdollisia palvelinkohtaisia poikkeussäätöjä on purettu. Yhtenäinen versiotilanne helpottaa sekä ylläpitoa että vikatilanteiden selvittämistä. Kun palvelimet toimivat samalla tavalla, ongelmien paikantaminen on nopeampaa ja korjausten vaikutus ennustettavampaa.

Mitä YTL:n Abitti 2 -päivitykset ovat korjanneet?

Myös Abitti 2:ssa on tapahtunut kevään jälkeen tärkeitä muutoksia. Viimeisimmissä Abitti 2-palvelinversioissa on tiedotuksen mukaan tarpeetonta lokitusta poistettu vastaustiedoston koon pienentämiseksi. Tämä on kevään kokemusten kannalta erittäin olennainen muutos. Lisäksi Abitti 2 -palvelimen uudemmissa versioissa on parannettu vastausten tallennuksen virheensietoa.

Linux-kokelastikun puolella merkittäviä muutoksia ovat olleet kokeen alun verkkokuorman vähentäminen sekä tarpeettoman mDNS-liikenteen korjaaminen. Nämä kohdistuvat juuri niihin tilanteisiin, joissa opiskelijoiden koneet kuormittivat koeverkkoa kokeen alussa.

Nämä YTL:n tekemät muutokset eivät yksin ratkaise kaikkea, mutta ne vähentävät selvästi niitä kuormitustekijöitä, jotka keväällä näkyivät kouluissa ongelmina.

Miten vastaavia ongelmia estetään jatkossa?

Täysin varmaa lupausta ongelmattomista koepäivistä ei voi antaa, mutta kevään jälkeen tilanne on merkittävästi parempi. Abitti 2 kehittyy edelleen nopeasti, ja siihen tulee muutoksia YTL:n omien aikataulujen ja ylioppilaskokeiden tarpeiden mukaan. Tämä tarkoittaa, että myös Koejakajan ja Opinsys-koepalvelinten toimintaa täytyy sovittaa muuttuvaan ympäristöön.

Kevään jälkeen tilanne on kuitenkin parempi useasta syystä.

  • Ensinnäkin vastauspakettien koon odotetaan palaavan lähemmäs normaalia, kun tarpeetonta lokitusta on vähennetty. Tämä vähentää palautusten kuormaa sekä koepalvelimilla, Koejakajan taustajärjestelmissä että Oma Abittiin tehtävissä siirroissa.
  • Toiseksi Koejakajan vikasietoisuutta on parannettu. Järjestelmä kestää nyt paremmin palautusten ruuhkautumista, suuria vastauspaketteja ja tilapäisiä verkkohäiriöitä.
  • Kolmanneksi palvelinympäristöä on yhtenäistetty. Kun koepalvelimet ovat samoissa versioissa ja poikkeussäätöjä on purettu, kokonaisuus on helpompi ylläpitää ja ongelmia on helpompi selvittää.
  • Neljänneksi Abitti 2:n omat päivitykset ovat kohdistuneet juuri keväällä näkyneisiin kipukohtiin: lokituksen määrään, vastausten tallennuksen virheensietoon ja kokeen alun verkkokuormaan.

Miten tukipuheluihin saadaan parempi vaste?

Keväällä Opinsysin tuki ruuhkautui ajoittain, koska samankaltaisia ongelmia esiintyi monella paikkakunnalla samaan aikaan. Tällaisessa tilanteessa yksittäinenkin juurisyy voi näkyä kymmeninä samanaikaisina yhteydenottoina.

Tärkein parannus tukipuheluiden vasteeseen on se, että itse ongelmia syntyy vähemmän. Kun palautusten ruuhkautuminen vähenee ja järjestelmä kestää virhetilanteita paremmin, myös samanaikaisten tukipyyntöjen määrä pienenee.

Laajoissa häiriöissä pyrimme myös antamaan asiakkaille aiempaa paremmin yhteistä tilannekuvaa. Jos sama ilmiö näkyy monella koululla, kaikkien ei pitäisi joutua odottamaan samaa vastausta erikseen. Tällöin yleinen tilanneviestintä auttaa sekä kouluja että tukea. Ensisijaisesti tätä kohdennettua viestiä tuodaan asiakkaille Koejakajan tiedote-kentässä ja täällä blogissa.

Tukipyynnöissä nopeuttaa paljon, jos viestissä on mukana koulun nimi, koepalvelin tai Koejakaja, kokeen ajankohta, ongelman tarkka vaihe sekä tieto siitä, onko kyse käynnissä olevasta kokeesta, seuraavan kokeen aloituksesta vai vastausten palautumisesta. Mitä tarkemmin tilanne saadaan tunnistettua heti alussa, sitä nopeammin asia voidaan ohjata oikeaan selvitykseen.

Summa summarum

Kevään Abitti 2 -koeviikko oli monella tavalla raskas, mutta myös erittäin hyödyllinen. Se toi näkyviin sellaisia kuormitustilanteita, joita ei olisi voitu havaita yhtä hyvin ilman laajaa todellista käyttöä koulujen omissa ympäristöissä.

Pahoittelemme kevään ongelmista kouluille aiheutunutta vaivaa. Samalla kiitämme kouluja kärsivällisyydestä, palautteesta ja yksityiskohtaisista ongelmaraporteista. Niiden avulla olemme pystyneet kohdistamaan kesän korjaukset oikeisiin kohtiin.

Abitti 2 jatkaa kehittymistään, ja muutoksia tulee varmasti jatkossakin. Uskomme kuitenkin, että järjestelmä on kevään kokemusten ja tehtyjen korjausten myötä menossa vakaampaan suuntaan. Koejakajan osalta kesän työ on keskittynyt juuri siihen, että syksyn koepäivät voidaan aloittaa paremmalta pohjalta kuin kevään ensimmäinen laaja Abitti 2 -koeviikko.