MODELIRANJE I PROCJENA PERFORMANSI SUSTAVA

1. Uvod

Prilikom projektiranja bilo kojeg sustava uvijek postoje zadana ograničenja koja se moraju ispoštovati. Najčešće su ta ograničenja financijske prirode. Kao primjere možemo navesti projektiranje računalnih mreža, postavljanje raznoraznih poslužitelja, projektiranje mrenžnih uređaja, itd. pri čemu je na raspolaganju ograničena količina opreme ili je unaprijed zadana količina financijskih sredstava koju je moguće utrošiti na projekt. U svakom od tih slučajeva uvijek se nameću ista pitanja: "Da li će sustav biti dovoljno brz?", "Da li će zadovoljiti potrebe u vremenu u kojemu se namjerava eksploatirati?", ...

Osim u najjednostavnijim slučajevima, odgovori na ta pitanja nisu jednostavni i dosta često se ne podudaraju sa našom intuicijom. U ekstremnim slučajevima male razlike u odlukama mogu dovesti do drastičnih posljedica. Npr., prilikom projektiranja preklopnika potrebno je odlučiti o parametrima tog preklopnika, kao npr. o količini memorije koju posjeduje taj preklopnik. Budući da se radi o uređaju koji se proizvodi u relativno velikoj seriji male razlike u slučaju jednog uređaja postaju velike u slučaju velikog broja uređaja. Zbog toga nam je potreban odgovarajući sistem uz pomoć kojega će se optimalno dimenzionirati sustav.

Postoji više mogućnosti na koje se može doći do odgovora. To su sljedeći načini:

  1. Izgraditi sustav pa vidjeti kako funkcionira
  2. Ekstrapolirati postojeći sustav
  3. Simulacija sustava
  4. Analiza upotrebom redova

Opcija pod 1. nije uopće opcija budući da je to upravo ono što želimo izbjeći. Problem sa opcijom 2 je činjenica da se radi o nelinearnom sustavu te je dosta lako napraviti velike pogreške u dizajnu. Opcija tri daje najtočnije rezultate no isplativa je tek za velike serije (kao npr. prijespomenuti preklopnik). Konačno, ostaje opcija 4 koja je za većinu primjena daje sasvim zadovoljavajuća rješenja.

Dosta dugo vremena primarni sistem za dimenzioniranje sustava bila je tzv. analiza uz pomoć redova, koja predstavlja temu ovih auditornih vježbi i koju ćemo detaljnije opisati nešto kasnije. U novije vrijeme (pod tim se podrazumijeva sredina 90-tih) otkrivena je samosličnost u mrežnom prometu što je pokazalo da su neke pretpostavke na kojima se temelji analiza uz pomoć redova netočne, te da zbog toga rezultati koje dobijamo ne odgovaraju stvarnosti. To je prvo uočeno snimajući i analizirajući promet koji se odvija po Ethernet LAN-u, a naknadno je utvrđeno da takvo ponašanje iskazuju i druge vrste prometa (kao npr. web). Ipak, uprkos tome analiza uz pomoć redova nam može dati zadovoljavajuće rezultate u većini slučajeva.

2. Redovi

2.1. Red posluživanja sa jednim serverom

M/M/1 modeli
iskorištenje
srednja vrijednost
standardna devijacija

3. Primjeri

Budući da na prvim auditornim vježbama studeni još nisu upoznati sa nizom mrežnih uređaja, na prvim auditornim vježbama obrađuju se primjeri nevezani za mreže računala.

3.1. SQL Poslužitelj

Lokalna mreža sastoji se od 100 osobnih računala i poslužitelja na kojemu se nalazi baza podataka neophodna za rad tih klijenata. Prosječno vrijeme potrebno poslužitelju da odgovori na upit je 0.6s, a standardna devijacija je procjenjena na isti iznos kao i srednja vrijednost. Prilikom najvišeg opterećenja broj upita koji stiže serveru je 20 u minuti. Zanimaju nas sljedeći odgovori:

  1. Koje je prosječno vrijeme odgovora ako se zanemare kašnjenja koje unosi LAN?
  2. Ako se vrijeme odgovora od 1.5s smatra maksimalno prihvatljivim, koji postotak u porastu opterećenja upita se može pojaviti prije nego što se dostigne maksimalno prihvatljivo vrijeme?

Da bi dobili odgovore na postavljena pitanja pretpostavljamo da se radi o M/M/1 modelu, a pri čemu je SQL poslužitelj u tom modelu. Također, pretpostaviti ćemo da su sva kašnjenja koja unosi LAN zanemariva.

Rješenje 1.

Prosječno vrijeme odgovora na upit iznosi:

(1)

Očito nam nedostaje koji predstavlja iskorištenje servera. Njega lako računamo pomoću sljedećeg izraza:

(2)

Sada možemo odrediti i prosječno vrijeme odgovora:

(3)

Rješenje 2.

Odgovor na ovo pitanje je malo teže odrediti budući da uvijek postoji neka vjerojatnost da će vrijeme nekog odgovora prijeći vrijednost od 1.5s bez obzira na iskorištenje servera. No, ono što možemo je tražiti da određeni broj odgovora padne ispod te granice. U našem slučaju recimo da želimo da 90% upita ima vrijeme odgovora manje od 1.5s. Opet kao i u prethodnom zadatku krećemo od sljedećeg izraza:

(1)

U tom izrazu tražimo , imamo zadani , dok nam nedostaje . možemo saznati rješavanjem sljedećeg izraza:

(4)

U tom izraz, je maksimalno vrijeme koje imamo zadano, r predstavlja postotak svih upita čije vrijeme obrade je manje od , dok je veličina koju tražimo. Kombinirajući prethodna dva izraza dolazimo do vrijednosti za koja iznosi 0.08.

Prema tome, možemo zaključiti da iskorištenje servera mora biti manje od 8% da bi 90% svih pristiglih upita imalo vrijeme obrade manje od 1.5s.