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