Järjestelmätason mallit III

Samankaltaiset tiedostot
Ohjelmasuoritusmalli ja sen käyttö

Ohjelmistojen suorituskyky, Kurssin tavoitteet

Suorituskykydatan kerääminen

Esimerkki ohjemasuoritusmallien käytöstä

Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi

Vuonohjaus: ikkunamekanismi

Ohjelmiston suorituskyvyn mittaaminen

Algoritmit 1. Luento 1 Ti Timo Männikkö

Tietorakenteet ja algoritmit - syksy

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

Liikenneteorian tehtävä

Esimerkki: Tietoliikennekytkin

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Suorituskyky ja ohjelmistokehitys Suorituskykymallit

Korvausvastuun ennustejakauma bootstrap-menetelmän avulla

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Jännite, virran voimakkuus ja teho

About architecture design process. Suorituskyky: mittasuureet. Vastausaikaperhe. Käyttöastesuureet. Muita suorituskykysuureita

Verkkosovellusten mallintaminen

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

J. Virtamo Jonoteoria / Prioriteettijonot 1

Demonstraatiot Luento 7 D7/1 D7/2 D7/3

ELMAS 4 Laitteiden kriittisyysluokittelu /10. Ramentor Oy ELMAS 4. Laitteiden kriittisyysluokittelu. Versio 1.0

Demonstraatiot Luento

Energiatehokkuussopimus - Energiapalvelujen toimenpideohjelman toteuttaminen

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

J. Virtamo Jonoteoria / Prioriteettijonot 1

Jonojen matematiikkaa

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Liikenneongelmien aikaskaalahierarkia

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

pitkittäisaineistoissa

Harjoitus 2 ( )

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Suomen rautatieverkoston robustisuus

Malliratkaisut Demot

Mitä raportit ja tilastot kertovat?

Dynaaminen analyysi I

2G-verkoissa verkkosuunnittelu perustuu pääosin kattavuuden määrittelyyn 3G-verkoissa on kattavuuden lisäksi myös kapasiteetin ja häiriöiden

Malliratkaisut Demot

Algoritmit 1. Luento 10 Ke Timo Männikkö

j n j a b a c a d b c c d m j b a c a d a c b d c c j

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen

Algoritmit 2. Luento 13 Ti Timo Männikkö

Ohjelmoinnin perusteet Y Python

Kombinatorinen optimointi

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Öljysäiliö maan alla

Suorituskykypatterneja

Algoritmit 1. Luento 10 Ke Timo Männikkö

Automatisoinnilla tehokkuutta mittaamiseen

pitkittäisaineistoissa

Työvoiman saatavuus metsätaloudessa. Tiivistelmä Tammikuu-2005

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Kun tulostuksessa ilmenee muotoiluvirheitä

Tietotekniikan valintakoe

1 PID-taajuusvastesuunnittelun esimerkki

SIPOC ja Arvovirtakartta työskentely - Ohje

Dynaamiset regressiomallit

Oppiminen ja oivaltaminen

Projektiportfolion valinta

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

Luku 8. Aluekyselyt. 8.1 Summataulukko

Optimoinnin sovellukset

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Toimitusketjun hallinnan uudet kehityssuunnat. Mikko Kärkkäinen Tammiseminaari 2015

TIEA341 Funktio-ohjelmointi 1, kevät 2008

811312A Tietorakenteet ja algoritmit I Johdanto

Skenaariot suurpetokantojen verotuksen suunnittelussa

Uudelleenkäytön jako kahteen

Lääkintähelikopterikaluston mallintaminen

Työkalujen merkitys mittaamisessa

Algoritmit 1. Luento 13 Ti Timo Männikkö

Ohjelmistotuotteen hallinnasta

Työn tavoitteita. Yleistä. opetella suunnittelemaan itsenäisesti mittaus kurssin teoriatietojen pohjalta

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Turingin koneen laajennuksia

Prosessin reaalisaatioiden tuottaminen

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

TN-IIa (MAT22001), syksy 2017

Teoria. Prosessin realisaatioiden tuottaminen

Estojärjestelmä (loss system, menetysjärjestelmä)

Seuratiedote 2/09 LIITE 4

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Käyttöohje CONDUCTOR

Asiakasmaksulain muutosten vaikutuksia mikrosimulointimenetelma lla arvioituna

Taloyhtiön laajakaistan käyttöohje, Tekniikka: HomePNA. Käyttöjärjestelmä: Windows Vista

Matematiikan tukikurssi, kurssikerta 3

KORJAUSVELAN LASKENTAMALLI KÄYTTÖÖN

Harjoitus 2 ( )

ALKUSANAT... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Transkriptio:

Järjestelmätason mallit III Luento 8 58153003 Ohjelmistojen suorituskyky 1 KEHITYSPROJEKTIN ALKUVAIHEEN MALLIT 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1

Alkuvaiheen arviot Järjestelmän kehitysprojektin aikaisissa vaiheissa emme voi tehdä mittauksia ja havaintoja järjestelmän kuormituksesta ja suoritustehosta Joudumme siis arvioimaan työkuorman intensiteettiä ja palveluiden kysyntää Työkuorman intensiteetti: järjestelmässä olevien töiden tekemien palvelupyyntöjen määrä tietyllä ajanjaksolla Palveluiden kysyntä: aika, jonka työt vaativat järjestelmän laitteilta 58153003 Ohjelmistojen suorituskyky 3 Alkuvaiheen arviot Ensimmäisiä arvioita varten oletetaan, että järjestelmä on riittävän nopea käsittelemään saapuvat työt niiden tulotahdissa (, työtä / aikayksikkö), joten X = Job flow balance ominaisuus; järjestelmä ei ota vastaan enemmän töitä kuin se voi käsitellä Kuten edellisellä luennolla havaittiin, järjestelmän pullonkaulat rajoittavat suoritustehon johonkin maksimitasoon; oletamme siis aluksi, että voimme rakentaa järjestelmän siten, että haluttu tehotaso saavutetaan ja < 1 / D max 58153003 Ohjelmistojen suorituskyky 4 Helsingin Yliopisto / Tktl 2

Esimerkki Oletamme eräälle järjestelmälle Töiden tulotahti = 0,4 työtä / sek. Työn keskimääräinen palveluaika S = 2 sek. Voidaan laskea suorituskykmittareille arviot (kaavojen johdot sivuutetaan 1 ) X = = 0,4 työtä / sek. U = X S = 0,4 2 = 0,8 Oloaika R = S / (1-U) = 2 / (1-0,8) = 10 sek. Keskim. töiden lukumäärä j:ssä N = X R = 0,4 10 = 4 1 Katso esim http://homes.cs.washington.edu/~lazowska/qsp/, luvut 3, 5 ja 6 58153003 Ohjelmistojen suorituskyky 5 Mistä luvut? Työkuorma-arvio ( ) saadaan Järjestelmän aiottua käyttöä tarkastelemalla; mikä on kunkin työtyypin/käyttötapaukset oletettu frekvenssi (<- järjestelmän vaatimukset) Tarkkailemalla vastaavanlaisia jo käytössä olevia järjestelmiä Palveluiden kysyntä (S) Ohjelmasuoritusmallien avulla voidaan laskea joka resurssille käyntikerrat ja niiden suoritusaikavaatimukset eli kysyntä D i per käyttötapaus/skenaario 58153003 Ohjelmistojen suorituskyky 6 Helsingin Yliopisto / Tktl 3

JONOVERKKOMALLIT, QNM 58153003 Ohjelmistojen suorituskyky 7 Jonojen ja servereiden verkko Edellinen esimerkki käsitteli järjestelmää mustana laatikkona, jolle oli arvioitu työkuorma ja työn keskimäärin saama palveluaika Tai yhtä hyvin voidaan ajatella, että tarkasteltiin yhtä yksittäistä järjestelmän resurssia Kuten aiemmin todettiin, esimerkiksi Littlen lakia voi soveltaa kaikilla järjestelmän tasolla 58153003 Ohjelmistojen suorituskyky 8 Helsingin Yliopisto / Tktl 4

Jonojen ja servereiden verkko Järjestelmät kuitenkin koostuvat yleensä useista resursseista, joiden välillä työt siirtyvät Järjestelmä kuvataan verkkona, jonka solmuina on resursseja (jono + serveri) ja jonka kaaret vastaavat töiden siirtymiä Tällaista verkkoa sanotaan jonoverkkomalliksi (Queueing Network Model) 58153003 Ohjelmistojen suorituskyky 9 Avoin jonoverkkomalli Enter Exit CPU Disk 1 Disk 2 58153003 Ohjelmistojen suorituskyky 10 Helsingin Yliopisto / Tktl 5

Avoin jonoverkko Edellisen dian avoimessa jonoverkossa työt tulevat järjestelmään Enter -solmusta ja siirtyvät CPU:lle Saatuaan palvelua CPU:lta, työ siirtyy jommallekummalle levylaitteelle (Disk n) tai, jos ne eivät tarvitse levyä, poistuvat Exit solmun kautta järjestelmästä Avoimet verkot sopivat mallintamaan transaktiojärjestelmiä, joihin työt tulevat ja sitten poistuvat Pankkiautomaatti, tietokantapalvelin, Google-haku Töiden määrä järjestelmässä vaihtelee ajan kuluessa 58153003 Ohjelmistojen suorituskyky 11 Avoimen jonoverkkomallin ratkaisu Avoimen jonoverkon ratkaisemiseksi eli suorituskykymittareiden arvojen laskemiseksi tarvitaan lähtötietoina Työkuorman intensiteetti mihin tahtiin työt saapuvat järjestelmään? Palveluiden kysyntä keskimääräinen käyntien määrä per laite ja keskimääräinen palveluaika per käynti tai suoraan laitteen kokonaiskysyntä (D i ) Käytetystä työkalusta riippuen 58153003 Ohjelmistojen suorituskyky 12 Helsingin Yliopisto / Tktl 6

Esimerkkiverkon ratkaisu Huom verkkojen ratkaisemiseen tulisi käyttää työkaluja, joissa tarvittavat laskentaalgoritmit on implementoitu Seuraava esimerkki lähinnä havainnollistaa, mitä työkaluilla saa aikaan 58153003 Ohjelmistojen suorituskyky 13 Esimerkkiverkon ratkaisu Syöteparametrit Töiden tulotahti (arrival rate), Käyntien määrä jokaisella laitteella i, V i Keskimääräinen palveluaika laitteella i, S i Parametreille ja S i voidaan käyttää mitä tahansa yksiköitä, kunhan ne ovat yhteensopivat keskenään 58153003 Ohjelmistojen suorituskyky 14 Helsingin Yliopisto / Tktl 7

Ratkaisun perusteet Syötearvoja käytetään seuraavissa kaavoissa suorituskykymittareiden arvojen laskemiseen 1. Järjestelmän suoritusteho X 0 = (job flow bal.) 2. Laitteen i suoritusteho X i = X 0 V i (forced flow) 3. Laitteen i käyttöaste U i = X i S i 4. Työn oloaika laitteella i per käyntikerta R i = S i / (1 - U i ) 5. Laitteella i olevien töiden keskim. lukumäärä N i = X i R i 6. Koko järjestelmässä olevien töiden keskim. lukumäärä N = N i 7. Koko järjestelmän vastausaika R = N / X 0 58153003 Ohjelmistojen suorituskyky 15 Parametrit Verkon ratkaisu Töiden tulotahti = 5 työtä / sek. V i ja S i laite Käyntien määrä V Keskim. palveluaika S CPU 5 0.01 Disk 1 3 0.03 Disk 2 1 0.02 58153003 Ohjelmistojen suorituskyky 16 Helsingin Yliopisto / Tktl 8

Verkon ratkaisu Mittari CPU Disk 1 Disk 2 1. X 25 15 5 2. S 0.01 0.03 0.02 3. U 0.25 0.45 0.10 4. R 0.013 0.055 0.022 5. N 0.325 0.825 0.111 N = 0.325 + 0.825 + 0.110 = 1.26 R = 1.26 / 5 = 0.252 sek. Lasketaan ensiksi laitekohtainen suoritusteho ja käyttöaste käyttäen edellä annettuja kaavoja 2 ja 3 Laitekohtaisten vastausaikojen ja työlukumäärien laskeminen on sitten mahdollista kaavoilla 4 ja 5 Viimeiseksi lasketaan järjestelmäkohtaiset metriikan N ja R kaavoilla 6 ja 7 58153003 Ohjelmistojen suorituskyky 17 Suljettu jonoverkkomalli User CPU Disk 1 Disk 2 58153003 Ohjelmistojen suorituskyky 18 Helsingin Yliopisto / Tktl 9

Suljettu jonoverkkomalli Suljettuun järjestelmään ei tule töitä eikä niitä poistu sieltä Vakiomäärä töitä kiertää järjestelmässä Viivesolmu (User) korvaa Enter- ja Exit-solmut Järjestelmä toimii siten, että käyttäjä (User) muodostaa pyynnön viivesolmussa ja syöttää sen järjestelmään Pyyntö (eli työ) siirtyy nyt verkossa solmusta toiseen, kuten avoimessakin verkossa Kun pyyntö on valmis, se palaa takaisin käyttäjälle, joka muodostaa uuden pyynnön ja syöttää sen järjestelmään, ja prosessi toistuu 58153003 Ohjelmistojen suorituskyky 19 Suljettu jonoverkkomalli Huomaa, että User -solmusta katsoen muu verkko on avoin järjestelmä User solmun suoritusaika mallintaa aikaa, joka kuluu siihen, kun käyttäjä muodostaa pyynnön (esim. täyttää syötekentän), lähettää sen järjestelmään, ottaa vastaan pyynnön tuloksen, tarkistaa tuloksen ja muodostaa seuraavan pyynnön (-> think time ) Suljetut jonoverkot sopivat interaktiivisten ja istuntopohjaisten järjestelmien mallintamiseen 58153003 Ohjelmistojen suorituskyky 20 Helsingin Yliopisto / Tktl 10

Suljetun jonoverkkomallin ratkaisu Suljetun mallin työkuorman intensiteetti muodostuu järjestelmässä olevien käyttäjien (tai samanaikaisten töiden) määrästä ja miettimisajan pituudesta Lisäksi tarvitaan tieto pyyntöjen käynneistä laitteilla ja niiden vaatimista palveluajoista Mallin ratkaisu on monimutkaisempi kuin avoimen järjestelmän, koska suoritusteho riippuu nyt vastausajasta, kuten verkon topologiasta voi päätellä Jos tuloksen muodostaminen kestää kauemmin, kuluu vastaavasti pitempi aika siihen, kun seuraava pyyntö tulee Ratkaisualgoritmit eivät kuulu kurssin sisältöön 58153003 Ohjelmistojen suorituskyky 21 JÄRJESTELMÄMALLIEN PARAMETRIEN JOHTAMINEN 58153003 Ohjelmistojen suorituskyky 22 Helsingin Yliopisto / Tktl 11

Ohjelmasuoritusmalleista järjestelmämalleihin Jotkin työkalut (esim SPE-ED) osaavat automaattisesti johtaa järjestelmätason mallien vaatimat parametrit ohjelmasuoritusmalleista Seuraavassa esitellään yleiskatsaus parametrien johtamiseen 58153003 Ohjelmistojen suorituskyky 23 Järjestelmämallin rakentaminen Järjestelmämalli laaditaan laitoskohtaisesti Aloita järjestelmämallin rakentaminen käyttämällä jonoja ja servereitä edustamaan tärkeitä laitoksen laskentaresursseja ja laitteita, jotka on tunnistettu ohjelma-suoritusmalleissa Seuraavaksi yhdistä serverit verkoksi määrittelemällä servereiden välisten yhteyksien topologia Tässä tarvitaan tietoa sekä suoritusympäristöstä että ohjelmien suorituksen kulusta (skenaarioista) Järjestelmäasiantuntijat voivat neuvoa tässä 58153003 Ohjelmistojen suorituskyky 24 Helsingin Yliopisto / Tktl 12

Järjestelmämallin rakentaminen Seuraavaksi pitää miettiä sopiiko suljettu vai avoin malli paremmin kuvaamaan järjestelmää Avoimet mallit sopivat paremmin transaktioiden tyyppisiä töitä käsitteleviin järjestelmiin, joissa vastausajat eivät vaikuta töiden saapumistahtiin (arrival rate) Suljetut mallit sopivat interaktiivisiin järjestelmiin, jossa vakiomäärä käyttäjiä/töitä kiertää järjestelmässä välillä miettien (think time) ja jossa työn vastausaika vaikuttaa työn kiertonopeuteen (seuraavan pyynnön saapumisaikaan) 58153003 Ohjelmistojen suorituskyky 25 Työkuormat Eri työkalut tukevat erilaisia töiden skedulointiperiaatteita, jotka voivat vaikuttaa siihen, millä kaavoilla suorituskykymetriikoita voidaan laskea Seuraavaksi täytyy määritellä laitoksessa suoritettavien skenaarioiden työkuormien intensiteetit Töiden saapumistahti / käyttäjien määrä ja miettimisaika 58153003 Ohjelmistojen suorituskyky 26 Helsingin Yliopisto / Tktl 13

Työkuormat Työkuormien määrittelyssä tarvittavien lukujen hankkiminen voikin olla vaikeaa Käytetään markkinoinnin laatimia ennusteita Tarkkaillaan samantapaisen käytössä olevan järjestelmän suoritusprofiilia Havainnoidaan (manuaalista) järjestelmää, jonka toteutettava uusi järjestelmä korvaa 58153003 Ohjelmistojen suorituskyky 27 Kysyntä Viimeisessä vaiheessa määritellään palveluaikatarpeet (resurssien kysyntä) Suoritusympäristön spesifikaatioista johdetaan laitteiston tärkeät suoritusparametrit Resurssien käyntikerrat ja palveluajat (kysyntä) saadaan ohjelmasuoritusmalleista 58153003 Ohjelmistojen suorituskyky 28 Helsingin Yliopisto / Tktl 14

Joka skenaariolle omat parametrit Edellä kuvattu prosessi koskee siis yhtä suorituskykyskenaariota Jos skenaarioita on useita, toistetaan laskenta kullekin skenaariolle erikseen niistä johdetuilla parametreilla Työkalut myös ratkaisevat monen skenaarion ns. moniluokkamalleja (multi-class modes) sovittamalla QNM-laskentakaavoja tai simuloimalla useita työkuormia samanaikaisesti Näin voidaan helposti tutkia työkuormien variaatioiden vaikutusta suorituskykyyn 58153003 Ohjelmistojen suorituskyky 29 JÄRJESTELMÄMALLIEN KÄYTTÖ SPE:SSÄ 58153003 Ohjelmistojen suorituskyky 30 Helsingin Yliopisto / Tktl 15

Järjestelmämallit ja SPE Järjestelmämallit tuovat kvantitatiivista tietoa resurssikilpailun vaikutuksista: Tarkempia metriikoita, jotka ottavat resurssikilpailun vaikutuksen huomioon Vastausaikojen piteminen töiden jonottaessa resursseja; resurssien käyttöasteen laskeminen eri skenaarioissa Suorituskykymetriikoiden sensitiivisyys työkuormien rakenteelle Laitteiston ja ohjelmiston skaalautuvuus Uuden ohjelmiston vaikutus toisten järjestelmien suorituskykyyn (samassa laitoksessa) 58153003 Ohjelmistojen suorituskyky 31 Järjestelmämallit ja SPE Pullonkaulojen tunnistaminen Korkeimman kysynnän laite saturoituu ensimmäisenä ja rajoittaa siten koko järjestelmän suoritustehoa Vertailudatan hankkiminen suorituskyvyn parantamiseen tähtäävistä vaihtoehdoista Harkitse työkuorman, laitteiston tai ohjelmiston muuttamista ja näiden kombinaatioita; muuntele työkuorman intensiteettiä ja ohjelmisto- / laitteistokonfiguraatioita muutosten vaikutusten kvantifioimiseksi 58153003 Ohjelmistojen suorituskyky 32 Helsingin Yliopisto / Tktl 16

Malleista Tähän mennessä on käytetty melko yksinkertaisia malleja, jotka on ollut helppo ratkaista eksaktisti ja analyyttisesti (laskentakaavoilla), tosin työkaluja käyttäen Monimutkaisempiakin malleja voidaan määritellä, mutta niiden ratkaisuun tarvitaan simulointia tai likimääräisiä analyyttisiä menetelmiä Simulointi voi antaa paljon lisätietoa (minimit, maksimit) yksinkertaisistakin malleista, joiden analyyttinen ratkaisu tuottaa vain keskiarvoja 58153003 Ohjelmistojen suorituskyky 33 Malleista Monimutkaisempien mallien konstruointi on työlästä ja vie aikaa, joten niistä saatava hyöty kannattaa tarkkaan arvioida Usein yksinkertaisemmat mallit antavat riittävästi tietoa eri arkkitehtuurivaihtoehtojen evaluoimiseksi Syitä laatia yksityiskohtaisempia malleja Mutkikkaat laitteistokonfiguraatiot ja niiden skedulointipolitiikkojen vaikutuksen arviointi Passiivisten resurssien käyttö toiminnan koordinointiin (mutexit, muut säikeiden synkronointimekanismit) Tarve saada lisää metriikoita (minim, maksimi, hajonta, saapuvien töiden jakaumat jne.) 58153003 Ohjelmistojen suorituskyky 34 Helsingin Yliopisto / Tktl 17

MALLINNUSVINKKEJÄ 58153003 Ohjelmistojen suorituskyky 35 Vinkkejä Monien käyttäjien ja työkuormien mallintaminen Järjestelmämallit ottavat jo huomioon monen yhtäaikaisen käyttäjän/työn vaikutuksen Monia työkuormia mallinnetaan kohdistamalla ne samaan laitokseen (facility); työkuormien parametrit saadaan työkuormiin liittyvistä suorituskykyskenaarioista 58153003 Ohjelmistojen suorituskyky 36 Helsingin Yliopisto / Tktl 18

Vinkkejä Keskimääräinen kuorma vs. huippukuorma Työkalut laskevat yleensä keskimääräiset suorituskykyarvot QNM-malleille Pidä siis huoli, että valitset tarkasteluajanjakson asianmukaisesti huippukuormitustilanne (esim tietty vuorokaudenaika) saattaa poiketa huomattavasti työkuormaltaan ja töiden tulotahdiltaan rauhallisemmasta tilanteesta 58153003 Ohjelmistojen suorituskyky 37 Vinkkejä Herkkyys Voit tutkia mallien parametrien muutosten suhteellista vaikutusta suorituskykymittareiden arvoihin Jos pieni muutos jonkin syöteparametrin arvossa aiheuttaa suuren muutoksen jonkin mittarin arvossa, mallissa on herkkyyskohta tälle parametrille Herkkyyden paikallistaminen ja analysointi voi antaa vihjeitä siitä, kuinka järjestelmän suorituskykyä voi parantaa Herkkyyskohdan olemassaolo on myös potentiaalinen riskitekijä 58153003 Ohjelmistojen suorituskyky 38 Helsingin Yliopisto / Tktl 19

Skaalautuvuus Vinkkejä Mallien ratkaisu mahdollisilla tulevaisuuden työkuormilla antaa tietoa siitä, minkä järjestelmän laitteiden suorituskyky voi rajoittaa skaalautuvuutta Jos vastausajat eivät ole tyydyttäviä, täytyy miettiä muutoksia ohjelmistoon tai laitteistoon 58153003 Ohjelmistojen suorituskyky 39 Vinkkejä Pullonkaulojen tunnistaminen Pullonkaulan laki kertoo, että suurimman kysynnän laite/resurssi rajoittaa koko järjestelmän suorituskyvyn tietylle maksimitasolle Mallin avulla voidaan tutkia vaihtoehtoja pullonkaulan poistamiseksi 58153003 Ohjelmistojen suorituskyky 40 Helsingin Yliopisto / Tktl 20