Tietolinja

Tietolinja
1/2001


PÄÄKIRJOITUS

ARTIKKELIT

UUTISIA,
AJANKOHTAISTA

Miksi Linko ei pyöri – Linnea-tietokantojen palvelimen vasteaikaongelmista

Juha Hakala



Yhteisjärjestelmän Linko-koneessa on ollut jo syksystä 2000 asti vasteaikaongelmia. Niiden syitä on tutkittu, ja tiedämme nyt varsin hyvin mistä on kyse. Nykyisessä laitteistoympäristössä tilannetta voidaan parantaa jonkin verran, mutta perusteellinen parannus on tulossa vasta kesällä 2001 Voyager-ohjelmiston myötä, jolloin Linnea-tietokannat siirretään uudelle Sun E10000-palvelimeen.

 

Nykytilanne

Linnea-tietokannat, Helsingin yliopiston kirjastolaitoksen HELKA-näyttöluettelo sekä kansallisbibliografiatietokanta Fennica sijaitsevat tätä nykyä HP 3000 979/400 –palvelimella, jota kutsutaan Lingoksi. Koneella on ikää muutama vuosi, ja moderneihin UNIX-palvelimiin verrattuna se on jo varsin hidas.

Lingossa on neljä prosessoria ja 4 gigatavua keskusmuistia. Tällä tavoin varustettuna koneen pitäisi keskimäärin kyetä hoitamaan ainakin 1200 samanaikaista käyttäjää. Vuoden 2000 syksyllä käyttäjiä oli noin 850, ja vasteajat olivat yksittäisiä ongelmatilanteita lukuun ottamatta hyväksyttäviä. Vuoden 2001 aikana käyttäjämäärä on noussut yli 900, ja huonoista vasteajoista on varsinkin iltapäivisin tullut jatkuva kiusa. Lisäksi kaikki halukkaat eivät ruuhka-aikoina edes pääse koneelle.

VTLS ja sen WWW-käyttöliittymäohjelmistot HyperLib ja WWLS ovat siis jollakin tapaa poikkeuksellisen raskas kuorma, koska Linko ei pysty palvelemaan likikään niin suurta käyttäjämäärää kuin pitäisi. Suorituskyvyn seurantaohjelmilla on todettu, että suhteessa VTLS:n aiheuttamaan kuormaan HyperLib ja WWLS kuormittavat palvelinta yllättävän paljon.

 

Mikä Lingossa mättää?

Ongelmatilanteille on ollut tyypillistä, että Lingon CPU-kuorma nousee 100 prosenttiin, samalla kun yksi systeemilevy ylikuormittuu hurjasti. Tilanne on siis aika eriskummallinen ja syytä jouduttiinkin etsimään niin sanotusti kissojen ja koirien kanssa. Tammikuussa 2001 varmistui, että syypää on HP3000:n MPE-käyttöjärjestelmä.

HP3000-koneelle kirjoittautuminen on ylipäätään raskas prosessi, ja vaatii myös tietojen kirjoittamista levylle. MPE tekee kaikki kirjoitusoperaatiot yhdelle levylle, vaikka systeemilevyjä olisi useita; esimerkiksi Lingossa niitä on kolme.

Linnea-tietokantoihin ei tule uusia käyttäjiä tasaisesti. Tasatunnein, luentojen päätyttyä, tulee selvä piikki. Tietokoneen käyttöä seuraamalla näkee hyvin että yliopistojen opiskelijoilla ja henkilökunnalla on varsin kansanomaiset harrasteet; Lahden MM-kisojen aikana tietokantojen käyttö oli hyvin vähäistä jos käynnissä oli suomalaisittain mielenkiintoinen kisa, mutta välittömästi mitalien ratkettua käyttäjät ryntäsivät takaisin päätteille.

HP3000-koneilla syntyy aina vaikeuksia silloin, kun uusia käyttäjiä tulee niin tiuhaan, ettei systeemilevy ehdi hoitaa töitään. Käytännössä tällainen tilanne on Lingossa arkisin iltapäivällä valitettavan tavallinen. Toki koneelle voi tulla 100 käyttäjää samalla hetkellä vaikka lauantaiaamuna, mutta se on harvinaista.

Epäonninen systeemilevy ylikuormittuu voimakkaasti, ja CPU alkaa jonottaa tälle levylle. Levyn toimimista odotellessaan prosessorit eivät tee mitään muuta. Koska login-prosessin prioriteetti on hyvin korkea, ruuhka syö prosessorikapasiteettia koneen kaikilta käyttäjiltä. Niinpä Linko saattaa suorituskyvyn mittausohjelman mukaan tehdä täydellä höyryllä töitä, mutta itse asiassa käyttäjien kannalta mitään ei tapahdu.

HP varoittaa tästä ongelmasta verkkosivuillaan kertomalla että isoilla HP3000-koneilla systeemilevyinä tulisi käyttää uusia ja nopeita levyjä. Toki paljon riippuu asiakkaan ohjelmistoympäristöstä; aidossa client-server –sovelluksessa kuten Voyagerissa käyttöjärjestelmätason login ei ole tarpeen eikä palvelin siksi kuormitu näistä operaatioista.

Silloin kun Linnea-tietokantoja käytettiin päätteillä ja VTLS:n omalla merkkipohjaisella käyttöliittymällä, tätä ongelmaa ei esiintynyt, koska tietokantaan kirjoittauduttiin aamulla ja istunto katkaistiin vasta illalla. Lingon suorituskykyongelmat johtuvatkin suurelta osin WWW-pohjaiseen käyttöön siirtymisestä, ei niinkään käytön jatkuvasta kasvusta, joka on ollut noin 20-30 prosentin luokkaa vuodessa.

Kun Linko ylikuormittuu, tilanteen rauhoittaminen on vaikeaa koska käyttäjät yrittävät koko ajan innokkaasti sisään HyperLibin ja WWLS:n kautta. Valtaosa Lingon kapasiteetista kuluu käyttäjien sisäänkirjoittautumisten hoitamiseen.

Ongelmavyyhtiä pahensi se, että HyperLibin timeout-arvot olivat Lingossa liian lyhyet; jos palvelin ei vastannut pikaisesti HyperLib menetti toivonsa, mahdollisesti juuri ennen kuin HP3000-istunto oli saatu valmiiksi. Timeout-arvoksi on nyt asetettu yksi minuutti - yhteys siis syntyy ja säilyy jos Linko on edes jollakin tapaa kunnossa. Miinuspuolelle menee se että HyperLib ilmoittaa nyt paljon hitaammin siitä ettei kohdetietokanta ole käytettävissä.

Olemme tutkineet mahdollisuuksia korvata ainakin osa WWLS-käytöstä HyperLibillä, koska WWLS näyttää kuormittavan konetta vielä enemmän kuin HyperLib. Valitettavasti HyperLibissä ilmeni teknisiä ongelmia joiden vuoksi WWLS-käyttöä on jatkettava entiseen tapaan. Paluu vanhaan merkkipohjaiseen VTLS-käyttöliittymään ei ole mahdollista, koska asiakkaat on koulutettu WWW-käyttöliittymien käyttäjiksi.

HyperLib- ja WWLS-sovellukset on asennettu Linux-palvelimille. Niissäkin on toisinaan ollut ongelmia, ei niinkään kapasiteetin puutteen vuoksi vaan sen tähden, että HyperLib tai WWLS ovat kaatuneet. Lisäksi olemme havainneet, että HyperLibin käyttäjätunnus HP3000-koneella voi deaktivoitua silloin, jos jollakin tunnuksella yrittää sisään runsaasti enemmän väkeä kuin tunnukselle on määritelty. Esimerkiksi ammattikorkeakoulut ovat Linda-tietokannassa kärsineet tästä ongelmasta. Tilanteen ratkaisemiseksi rakennettiin skripti, joka reaktivoi tunnukset tarvittaessa.

 

Mitä on tehtävissä?

Tilanne paranee ratkaisevasti vasta kun tietokannat siirretään Voyager-järjestelmään ja uudelle Sun E10000-palvelimelle. Palvelimen ominaisuuksia on kuvattu Tietolinjan edellisessä numerossa perusteellisesti; tässä yhteydessä riittänee sen toteaminen, että uudessa palvelimessa Linnea-tietokannoilla ja Fennicalla on käytettävissään noin kymmenkertainen määrä prosessoritehoa verrattuna Lingon kokonaiskapasiteettiin. Ja jos tämä ei riitä, tehoa voidaan helposti lisätä, toisin kuin nykyisessä koneessa.

Voyagerissa ei tarvita myöskään erillistä WWW-käyttöliittymäohjelmaa. Voyageriin kuuluu WebVoyage-sovellus, jota varten hankitaan erillinen WWW-edustakone. Jo sen kapasiteetti tulee olemaan suurempi kuin nykyisen Linko-koneen.

Koska Voyager otetaan käyttöön näillä näkymin kesällä 2001, Linko-koneen laajennuksesta olisi iloa vain muutaman kuukauden ajan, tai itse asiassa vain kuukauden. Menneiden vuosien käyttötilastoista näet tiedämme, että heti pääsiäisen jälkeen Lingon käyttö vähenee oleellisesti, lisääntyäkseen jälleen syyskuussa uuden lukukauden alettua.

Koska Lingon käyttöikä on varsin lyhyt, mittavia hankintoja ei enää kannata tehdä. Olemme kuitenkin selvittäneet päivitysten hinnat, ja esimerkiksi prosessorilaajennus olisi maksanut noin puoli miljoonaa markkaa. Jos arviomme ongelman syistä on oikea, CPU-kapasiteetin tai keskusmuistin lisääminen ei ratkaise Lingon kapasiteettiongelmia. Jos CPU:n aika kuluu levylle kirjoitusta odotellessa, kuusi prosessoria odottelee aivan samalla tapaa kuin neljä.

Tehokkain toteuttamiskelpoinen tapa vähentää vasteaikaongelmia on Lingon systeemilevyjen modernisointi. Hewlett-Packardilta saamiemme tietojen mukaan uusimmat HP3000:lle soveltuvat levyt ovat noin 50 % nopeampia kuin levyt, joita tällä hetkellä käytämme. Lisäksi nykyiset systeemilevymme perustuvat RAID-tekniikkaan, mikä käytännössä tarkoittaa etteivät ne ole tehokkaita kirjoitushommissa, varsinkin jos tallennettavana on paljon pikkusälää. RAID-levyt valittiin Linkoon aikanaan sen vuoksi, että ne antavat hyvän suojan levyrikkoja vastaan, ei suorituskykynsä vuoksi. Uudessa Sun E10000-koneessa kaikki levy on peilattua, tämän ratkaisun tarjoaman hyvän suorituskyvyn vuoksi.

Linkoon ei kuitenkaan ollut järkevää ostaa uutta levyä, koska sitä ei voitu asentaa peilattuna systeemilevyksi. Yhden uuden levyn rikkuminen olisi kaatanut koko Linko-palvelimen, mitä riskiä emme halunneet ottaa. Sen sijaan muutamme nykyisten RAID-systeemilevyjen konfiguraatiota niin, että levyt toimivat peilattuina. Tämä lisää HP:n mukaan Lingon systeemilevyjen kapasiteettia noin 25 % nykyisestä. Asennusajankohtaa ei tätä kirjoitettaessa ole vielä määrätty; käytännössä ajankohta riippuu HP:n kiireistä.

On vaikea arvioida täsmällisesti, miten paljon levyjärjestelmän muutos vähentää ongelmiamme. Jos muutos tehoaa, palvelimen suorituskyvyn pullonkaula määrittyy normaaliin tapaan eli se on joko CPU, muisti tai VTLS-tietokantojen levyI/O. Kahden jälkimmäisen muuttujan osalta Lingossa ei ole ollut ongelmia niissä käyttäjämäärissä joihin nykyisillä systeemilevyillä on päästy. CPU:n osalta mahdollista kapasiteettivajetta on vaikea arvioida. HP:n lupaamaan 1200 käyttäjään pääsy tarkoittaisi sitä, että kuluvan vuoden tammi-helmikuun kuormasta selvittäisiin ongelmitta.

 

Lopuksi

Lingon ongelmien ansiosta tiedämme ainakin yhden positiivisen asian: Linnea-tietokannat ovat erittäin tärkeitä tiedonhaun apuvälineitä. Internet ei ole tehnyt kirjastoja tarpeettomiksi, pikemminkin päinvastoin.

Nykyisten vaikeuksien taustalla on monia tekijöitä. Yleisten kirjastojen ja ammattikorkeakoulujen kanssa solmitut lisenssit Linnea-tietokantojen käytöstä ovat toki lisänneet Linko-palvelimen kokonaiskuormaa, mutta tilastojemme mukaan eivät kokonaisuuden kannalta merkittävästi. Ratkaisevaa on ollut yliopistojen maksuttoman käytön jatkuva kasvu sekä siirtyminen HyperLib- ja WWLS-ympäristöön. Linko-palvelimen laajentamisen kalleus sekä koneen käyttöiän lyhyys ovat sitoneet kirjaston käsiä ongelmanratkaisussa.

HYK:ssa ollaan asiakaspalautteen ja Linko-palvelimen tilanteen seurannan ansiosta hyvin perillä tilanteesta. Suhtaudumme palautteeseen vakavasti, mutta valitettavasti mahdollisuutemme ratkaista ongelmat nopeasti ovat rajalliset. Useimpien käyttäjien on toki pakko päästä tietokantoihin virka-aikana, mutta jos suinkin mahdollista, Linnea-tietokantoja kannattaa ainakin pääsiäiseen asti käyttää joko aamulla tai iltaisin ja viikonloppuisin.

Pahoittelen vielä omasta puolestani syntynyttä tilannetta. Olen itse seurannut Linko-palvelimen tilannetta jo vuodesta 1993, jotta vasteaikaongelmilta säästyttäisiin. Menneinä vuosina konetta on laajennettu useaan otteeseen lisääntyneen asiakasmäärän hoitamiseksi. Valitettavasti tällä kertaa tätä mahdollisuutta ei edellä kuvatuista syistä ollut.

 

Juha Hakala, kehittämisjohtaja
Helsingin yliopiston kirjasto
Email: juha.hakala@helsinki.fi

Tietolinja 1/2001