240 likes | 514 Views
6.2 Mittaus ja kuvaus. Menasce, luku 13 Jain, luvut 7, 8,10. Mittaustekniikat. Marssijärjestys (aina): hypoteesi => malli => koesuunnittelu => mittaus => analyysi (=> malli => koesuunnittelu => mittaus => …) Tiedon keruu mittarit rakennettu osaksi sovellusta
E N D
6.2 Mittaus ja kuvaus Menasce, luku 13 Jain, luvut 7, 8,10
Mittaustekniikat • Marssijärjestys (aina): hypoteesi => malli => koesuunnittelu => mittaus => analyysi (=> malli => koesuunnittelu => mittaus => …) • Tiedon keruu • mittarit rakennettu osaksi sovellusta • mittarit osana toteutusalustaa • mittarit osana käyttöjärjestelmää • ulkoiset ohjelmistomittarit • laitteistomittarit
Mittaushetken valinta • Tapahtumamonitorointi • tapahtuman toteuttavassa koodissa • mittari helppo toteuttaa • mittariston ohjaus hankalampaa • lukuisia mittareita • ehtojärjestelmä: mittarien käynnistys/pysäytys • mittaustulosten tahdistus • mittauksen vaikutus suorituskykyyn! • Otantamonitorointi • ”ulkopuolinen” käynnistys • kerätään tilatieto • vaikutus suorituskykyyn ainakin säädeltävissä
Ohjelmistomittarit • Tarkkuus vs yleisrasite vs havainnollisuus? • Viisasta rakentaa sovellukseen mukaan heti alunperin joustava mittaristo • mittaus helppo liittää ohjelman logiikkaan • mittaus voidaan kohdistaa ongelman lähteelle • Yleensä aina saatavilla: • laskutusjärjestelmän tiedonkeruu • välikerroksen lokitietojen keruu • Erikoismittareita kytkettävissä alustaan (esim. tietoliikenteen seuranta)
Ajanmittauksen tarkkuus • Selvitä käyttöjärjestelmän kellon resoluutio (käyttäjän kannalta) • Eri koneiden kellot eivät yleensä ole riittävän hyvin synkronissa => mittaa aikaa yhdellä kellolla (tai tee kellontarkistus alussa ja lopussa) • Varo ”kertyvää epätarkkuutta” (kertymä vs pistehavainto)
Mittausjakson pituus • Mittaa järjestelmää, kun se on ”stationäärisessä tilassa” • Jos tulossuure on likimain normaalisti jakautunut, koepituuden vaikutus tulosten tarkkuuteen on helposti arvioitavissa • tulosmuuttuja y: normaalijakautunut N(m,s) • otoskoko: n • otoskeskiarvo m: normaalijakautunut N(m, s/sqrt(n)) • otoskeskiarvon luottamusväli merkitsevyystasolla a m ± z1-a/2 s / sqrt(n), missä z1-a/2 on normaalijakauman prosenttipiste s on otoshajonta • päätä merkitsevyystaso; mittaa, kunnes ehto ok (tilastollisesti ei aivan puhdasoppista, mutta tyypillisesti suurin virhe syntyy jakauman vinoudesta)
Tulosten kuvaaminen • Tavoite: tietoa päätöksentekoa varten • oleelliset erot selvästi näkyviin • epäoleelliset erot ”huomaamattomia” • Käytä • kuvia visualisointiin • taulukoita tarkkojen tietojen varastona • tekstiä selitykseen • Teksti on syytä visualisoida • Kuvat on syytä selittää
Grafiikan suunnittelun ohjeita • Minimoi lukijan vaiva • oleellinen näkyy heti • ymmärretään oikein • Maksimoi informaatio • mitä kuvataan (daily cpu usage; cpu time in seconds) • Minimoi musteen käyttö • näytä metsä (älä vain puita) • Noudata yleisiä käytänteitä • x on selittäjä, y selitettävä • kasvusuunta on oikealle / ylös • Arvot alkavat usein nollatasosta
Onko tilanteilla eroa? Kaksi kuvaa samasta tilanteesta: availability = 1 - unavailability
Kovin täytetty kuva … Eri asioita samassa kuvassa? Kyllä, jos halutaan kuvata esim. yhteisen taustamuuttujan vaikutusta, … mutta luettavuudesta pitäisi jäädä jotain jäljelle
Teknistä pientä huomioonotettavaa Muista seuraavat erot • kvalitatiivinen vs kvantitatiivinen muuttuja • diskreetti vs jatkuva muuttuja => älä tee faktorin diskreeteistä, kvalitatiivisista tasoista jatkuvaa muuttujaa • selittäjä vs selitettävä Sijoita vertailtavat suureet rinnakkain / allekkain Jos suhteelliset erot ovat tärkeitä, käytä logaritmista asteikkoa
Wise men learn by other men’s mistakes, fools by their own • Onko hankkeella jokin tavoite (paitsi: olisi kiva tietää..) • Tutki, älä todista ennakkoluuloja • Systemaattinen lähestymistapa on työläs – epäsystemaattinen on kallis • Ymmärrätkö, mitä järjestelmässä oikein tapahtuu? • Miksi käytät tätä suorituskykymittaa? • Tämä kuorma oli helppo saada – entä edustavuus? • Miksi valitsit tämän tekniikan? • Ovatko oleelliset faktorit mukana?
Wise men learn …. • Tuliko koesuunnittelu tehtyä – vai lähdettiinkö heti katsomaan, mitä siellä tapahtuu? • Mallituksen detaljitaso? (Joskus yksityiskohtainen malli on huonompi kuin karkea …) • Luovutatko raakadataa vai tuloksia? Osaatko selittää, miksi ne näyttävät siltä miltä näyttävät? • Mikä tarkkuus? Unohtuiko herkkyysanalyysi? • Kuka sanoi, ettei syötteissä voisi olla virheitä? • Poikkeavien havaintojen käsittely … • Onko maailma huomennakin tällainen?
Wise men learn …. • Keskiarvo on helppo ymmärtää – myös väärin • Ilmiö vs analyysi vs tarvittu tarkkuus – monimutkaisuus ei ole hyve • Mikä on se informaatio, jonka tuloksista saa? • Tulosten myynti on sosiaalinen taito • Lopuksi: miten olikaan validiteetin kanssa?
Työn iloa ja onnea matkaan!