KRYSP-rajapintojen suorituskykytestaukset Jari Torvinen 12.2.2014 1
Esityksen sisältö Rajapintojen käyttöönoton tilanne Kuopiossa Miksi suorituskykytestaus? Suorituskykytestauksen toteuttaminen Testaustulosten tarkastelu ja analysointi Jatkotoimenpiteet Ajatuksia aiheesta 2
Rajapintojen käyttöönoton tilanne Kuopiossa Kuopiolla on käytössä neljän toimittajan KRYSP-rajapintapalveluita kahdella palvelimella Windows Server 2008 R2 - Virtuaalipalvelin, 4 CPU, 8 GB Tekla KRYSP Kantakartta WMS/WFS KRYSP Osoite WMS/WFS KRYSP Opaskartta WMS Peruskartta, ortokuva WMS Basepoint/Cad-Q KRYSP Asemakaava WMS/WFS Windows Server 2008 R2 - Virtuaalipalvelin, 2 CPU, 6 GB CGI KRYSP Rakennusvalvonta WMS/WFS Vianova KRYSP Yleisten alueiden lupa 3
Rajapintojen käyttöönoton tilanne Kuopiossa Rajapintojen hyödyntäminen ja laajentaminen tulevaisuudessa Intranet/extranet-sovelluksien taustakarttakäyttö (WMS) Yleisten alueiden lupien ja venepaikkojen hallinta Kuopion Veden johtoverkoston hallintajärjestelmä Factan karttaliittymä 3D-Win- ja MapInfo - clientit Kuopion Energian johtoverkoston hallintajärjestelmä (WMS/tietokantaluku?) Autodesk-suunnittelujärjestelmät? Intra-karttapalvelu? Kuopion selainpohjaiset julkiset internet-palvelut (WMS / WFS) Internet-karttapalvelu + upotetut karttakomponentit Palautepalvelun Oskari-karttakomponentti + osoite- ja nimistöhaku Katujen kunnossapidon reaaliaikaisen seurannan asukkaan näkymä? Yhteistyökumppaneiden palveluiden tausta-aineistona tai tiedonsiirrossa Lupapiste.fi Paikkatietoikkuna? Kokoava tietopalvelu? VRK, MML, ELY? Julkisten rajapintojen käyttö asiakkaiden omassa sovelluksissa? Karttapohjaisten sovellusten (karttapalvelut ja mobililaitteiden appsit) taustalle? 4
Miksi suorituskykytestaus? Rajapintojen pystytyksen yleisin toimintatapa Palvelut saadaan pystyyn ja teknisesti kaikki näyttää toimivan hyvin. Kokeillaan pikaisesti jollakin ohjelmalla ja todetaan, että palvelu näyttää toimivan oletetaan palvelun olevan OK, julkaistaan ja jäädään odottamaan käyttäjiä Ei seurata aktiivisesti onko palvelut pystyssä ja millaiset vasteajat ovat Mahdollisia ongelmia Rajapintojen käyttö laajentuu, kuormitus kasvaa ja vasteajat kasvavat. Alustaksi valittu alimitoitettu virtuaalipalvelin, jonka laajentaminen rajallista Pahimmassa tapauksessa rajapintaa hyödyntävät palvelut hyytyvät. Olisiko parempi toimintatapa seuraavanlainen rajapintojen pystyttämisessä? Rajapintapalvelu pystyyn ja ennen julkaisua toteutetaan suorituskykytestaukset Jos suorituskyky ei ole riittävä, selvitetään missä vika. Alustassa jotain konfiguraatio-ongelmia tai ei tarpeeksi tehoa Selvitetään ongelmat ja lisätään rautaa raja(pinna)lle? Aineistossa jotain vikaa, voidaanko korjata? Onko toimittajan rajapinnan teknisessä toteutuksessa jotain parannettavaa? Vaaditaan palveluntarjoajalta palvelun toteuttaminen JHS 180:n tai muun sovitun laatuvaatimuksen mukaiseksi. 5
Miksi suorituskykytestaus? JHS 180 suosituksen liitteessä 4 on määritelty rajapintapalveluiden laatu Suositus perustuu suoraan INSPIRE-direktiiviin. KRYSP:ssä ei ole otettu kantaa laatuun/suorituskykyyn, mutta palvelut lienevät verrattavissa keskenään? Laatuvaatimukset ovat aika tiukat Palvelu on oltava päällä 99 % ajasta, testipyyntöjä 10 kertaa tunnissa jatkuvasti koko palvelun elinkaaren ajan Katselupalvelun (WMS) suorituskyky 20 pyyntöä sekunnissa 1 min ajan - Kuvan koko 800x600, 8-bittinen - Vasteaika korkeintaan 5 s Latauspalvelun (WFS) suorituskyky 10 pyyntöä sekunnissa 1 min ajan - Suositellaan olevan sellaisia, jotka palauttavat vähintään 1 Mt tietoja - Vasteaika korkeintaan 10 / 30 s riippuen operaatiosta Miten tiedontuottaja voi todentaa suorituskyvyn ja valvoa laatua jatkuvasti? 6
Suorituskykytestauksen toteuttaminen Tekninen toteutus Spatineo Oy:n palveluna Kyselyt ulkoisesta osoitteesta, joka vastaa todellista käyttötilannetta Kyselyssä rajauksena BBOX-koordinaattirajat Toteutettiin Kuopiossa ennen rajapintapalveluiden julkaisua / laajempaa käyttöä, jolloin tuotantopalvelun hyytyminen ei aiheuta ongelmia käyttäjille Ilmoitus rajapintoja jo käyttävien sovellusten pääkäyttäjille ja palvelimen ylläpitäjille Pyrittiin välttämään testin aikana muuta käyttöä, jotta kuormitustulokset olisivat todelliset Ajettiin testit ja samalla seurattiin palvelimien käyttäytymistä Palvelimien ytimien ja prosessien käyttäytyminen Muutettiin tarvittaessa/pystyttäessä konfigurointia ja ajettiin uudelleen sama testi Testissä pyrittiin löytämään kunkin palvelun kipupiste Testissä lisätään koko ajan kyselyiden määrää joka sekunti Kysely tulkitaan virheeksi, jos vastaus ei tule 10 sekunnin kuluessa Pyrittiin ajamaan erityyppisille aineistoille testit, jotta huomataan mahdolliset ongelmat Basepointin Asemakaava-rajapintaan ei voitu ajaa testausta, koska testaus käyttää GET-metodia, jota rajapintapalvelu ei tällä hetkellä tarjoa. 7
Testaustulosten tarkastelu ja analysointi CGI:n Rakennusvalvonnan ValmisRakennus taso WFS - Yksittäinen kysely on nopea (< 200 ms), mutta yhtäaikaiset kyselyt aiheuttavat palvelun hyytymisen nopeasti. Kipuraja tulee vastaan jo silloin, kun kyselyiden määrä on 2-3 kyselyä/s. WMS - Yksittäisen kyselyn vasteaika n. 0.5-1 s. Yhtäaikaiset kyselyt aiheuttavat palvelun hyytymisen tosi nopeasti. Kipuraja tulee vastaan jo silloin, kun kyselyiden määrä on 2 kys./s. 8
Testaustulosten tarkastelu ja analysointi Teklan Kantakarta (WFS-rakennustaso, WMS-kaikki kantakartta-ryhmät) WFS - Yksittäisen kysely (n. 300-1000 ms), mutta yhtäaikaiset kyselyt aiheuttavat palvelun hyytymisen aika nopeasti. Kipuraja tulee vastaan, kun kyselyiden määrä on 6 kyselyä/s. WMS - Yksittäisen kyselyn vasteaika n. 1 s. Yhtäaikaiset kyselyt aiheuttavat palvelun hyytymisen. Kipuraja tulee vastaan silloin, kun kyselyiden määrä on 11 kyselyä/s. 9
Jatkotoimenpiteet Tarkistetaan palvelinresurssien riittävyys/tehokkuus Tehdään eniten käytettyihin aineistoihin tarvittavia viilauksia (vasteaika pienenee) Viilataan lähtöaineistojen formaatit optimaalisiksi Tehdään valmiiksi kaikille tasoille eri resoluutiotasoiset rasterit Hyödynnetään maksullista tietokantaa, jotta voidaan hyödyntää useampaa ydintä Selvitettävä lisenssien hinta Pyritään hyödyntämään rajapintoja hyödyntävissä palveluissa välimuistia Nopeuttaa palvelua eikä rasita niin paljon rajapintaa Osa clienteista esim. MapInfo ei osaa hyödyntää välimuistia, aina kyselyt palvelusta Mietitään tarjotaanko esim. WMS-kantakartan eri tasoryhmiä erikseen vai vain yhtenä kantakartta-tasona. Ainakin ohjeistetaan käyttäjiä tasojen hallinnasta. Erillisen välimuistipalvelun käyttöönotto, jos kuormitus kasvaa Jos käyttöaste kasvaa, niin hyödynnetään esim. WMTS / GeoWebCache Voidaan käyttää saman palvelun taustalla useampia palveluita 10
Ajatuksia aiheesta Ajatuksia ja ehdotuksia eri osapuolille Spatineo Oy:lle suorituskykytestauksesta ja monitoroinnista Testauksen sisältö yhdenmukaisemmaksi JHS180:n vaatimusten kanssa Testaukseen mukaan mahdollisuus tehdä hakuja myös FILTER-ehdoilla KRYSP-erityispiirteiden huomioon ottaminen, kuten WFS:n koordinaattijärjestys (E,N) Toimittajille Palvelinminimivaatimukset realistisiksi, ei liian pieniksi Omien mahdollisten testaustulosten läpikäynti asiakkaan kanssa, jotta laatu on tiedossa. Rajapintojen suorituskyvyn laatu mukaan palvelutasosopimuksiin (SLA) Tiedon tuottajille/rajapinnan tilaajalle Rajapintojen suorituskyky selville, jotta palvelun hyödyntämisen suunnittelu onnistuu Omien tasojen tarjoamisen hallinta (esim. kantakartan tasoryhmät vai ei) Aineiston laatu kuntoon Hyödyntävien palveluiden optimoinnin ohjeistaminen (cache) Valtakunnallinen yhteistyö kuntakentässä Testauksen käytännön ohjeistus ja yhteinen lisenssi/testauspalvelu? 11