gönczy lászló [email protected] · ahol a méret byte, a sávszélesség mbps ... udp datagram...
TRANSCRIPT
Teljesítménymodellezés
Gönczy László
Üzleti IT rendszerek modellezése
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Gönczy László
Erőforrás szintű kapacitástervezés lépései
IT fe jlesztési terv
IT in frastruktúra
IT je llem zok
Terhelés leírás Teljes ítm énybecslés
Költségm odellek
Választottkö ltségm odell
Terhelésjellem zok
Terhelés m odell Teljes ítm énym odellek
Teljes ítm énym odell
Kalibrálás ésvalidálás
W hat-if analízis
Teljesítménymodellek
� Modellezés célja
o erőforrás foglalási problémák felderítése
o elosztott alkalmazások kommunikációs költségei
o rendszer változásának hatásai (pl. gyorsabb szerver)
( )Kiszolgálás Várakozás TénylegesKiszolgálás HálózatiKésleltetésT T T +T = +
o rendszer változásának hatásai (pl. gyorsabb szerver)
o előrejelzés támogatása
� Ökölszabályok: teljesítménymodell elfogadható, ha
o az erőforrások kihasználtságát 10%
o az áteresztőképességet 10%
o a válaszidőt 20% hibával becsli
Modellek fajtái
� Analitikus modell
o a rendszert egyenletekkel írja le, pl.
� Szimulációs modell
min min minRT RTT kérés FeldolgozásiIdő válasz= + + +
� Szimulációs modell
o szimulációt futtat
o az előfordulásnak megfelelő tranzakció gyakorisággal
o előny: általános vizsgálat ☺
o hátrány: drága, nehéz kifejleszteni �
Modellezési/becslési paradigma
Adottrendszer
ANALÍZIS
Tervezett rendszerteljesítménye
BECSLÉSMODELLEZÉS
Paraméterek
Modell építés
Adatgyűjtés
Teljesítménymérése
Modellkiértékelése
ModellváltoztatásValidálás
Modell kiértékelése
Paraméterekmeghatározása
Teljesítmény modell paraméterei
Teljesítmény
Rendszer paraméterek
Erőforrás paraméterek
Diszk hozzáférési idő
Késleltetés
Terhelés elosztás szabályai
Kapcsolatok / szálak max. száma
Hálózati protokoll, stb.
Teljesítménymodell
Erőforrás paraméterek
Terhelési paraméterekIntenzitás
Szolgáltatás igény
Lekérdezések száma / nap
Kliensek száma
Intenzitás változása (burst), stb.
Tranzakció által használt CPU idő
Adatbázis lekérdezés mérete, stb.
Sávszélesség
CPU sebesség, stb.
Szolgáltatás igény és idő
� Az i. erőforrásra:
Di: egy tranzakció átlagos szolgáltatásigénye
Vi: a tranzakció átlagos erőforrás használata
Si: egy használat átlagos erőforrás igénye
i i iD V S= ×más alakban
ii
i
DS
V=
Könnyebben meghatározható
Hálózati egyenletek
Egy üzenethez tartozó csomagok száma:
Összes protokoll overhead (n. hálózaton):
ÜzenetméretCsomagszám =
MaxSzegmensMéret
n nOverhead = Csomagszám×(TCPOvhd + IPOvhd + FrameOvhd )
ahol figyelembe vesszük a TCP, IP és a konkréthálózati protokollból eredő overhead-et
Hálózati egyenletek 2.
Üzenet továbbítási ideje az n. hálózatban
ahol a méret byte, a sávszélesség Mbps mértékegységű
( )nn 6
Üzenetméret +Overhead ×8SzolgáltatásIdő =
10 ×Sávszélesség
mértékegységű
Az n. hálózat kihasználtsága (utilization)
λ∑ jn j n
üzenetek
U = ×SzolgáltatásIdő
Hálózati protokollok
Protokoll PDU elnevezés Max. PDU (bájt) Overhead (bájt ) Max. AdatterületTCP segment 65,515 20 65,495UDP datagram 65,515 8 65,507IPv4 datagram 65,535 20 65,515IPv6 datagram 65,535 40 65,495ATM cell 53 5 48ATM cell 53 5 48Ethernet frame 1,518 18 1,500IEEE 802.3 frame 1,518 21 1,497IEEE 802.5 Token Ring frame 4,472 28 4,444FDDI (RFC 1390) frame 4,500 28 4,472
PDU = Protocol Data UnitMTU=Maximum Transmission Unit
Hálózati környezet példa
KLIENS
ROUTER
LAN2:FDDI Gyűrű100 Mbps
MTU:4472 bájtR
LAN3:Token Ring16 MbpsMTU: 4444 bájt
Adatbázisszerver
LAN1:Ethernet10 MbpsMTU: 1500 bájt
Hálózati teljesítmény példa
Az előző hálózatban a kliens küld egy 300 bájtos kérést:
LAN1:
Overhead = TCPOvhd + IPOvhd + EthOvhd (1 csomag)
Ovhd1 = 20 + 20 +18 = 58
358×8
LAN2:
LAN3:
358×8SzolgIdő1= = 0.000286sec
10,000,000
368×8SzolgIdő2 = = 0.00002944sec
100,000,000
368×8SzolgIdő3 = = 0.000184sec
16,000,000
Hálózati teljesítmény példa 2.
� A szerver válaszol: 10000 bájtszegmentálás: 1460 bájt az egység
EthernetMéret – (TCPOvhd + IPOvhd) = 1500 – 40
7 csomag : 10000 = (6*1460 + 1240)
LAN3: ( )sec00524.0
8308,1528,16 =×+×
LAN2:
LAN1:
( )sec00524.0
000,000,16
8308,1528,16 =×+×
( ) ( )[ ]sec000838.0
000,000,100
8282020240,1282020460,16 =×+++++++×
( ) ( )[ ]sec00832.0
000,000,10
8182020240,1182020460,16 =×+++++++×
Hálózati teljesítmény példa 3.
� A kliens átlag percenként 3-szor lekérdezi az adatbázis szervert
Lekérdezés: 400 bájt, Válasz: 80% 8092 bájt, 20% 100,000 bájt
Milyen a hálózati kihasználtság?
Csomagok száma:
Kérdés:
Rövid válasz:
Hosszú válasz:
4 /1,460 1=
8,092 /1,460 6=
100,000 /1,460 69=
Hálózati teljesítmény példa 4.
Kérés Rövid válasz Hosszú válaszCsomagok száma 1 6 69Overhead (bájt) 58 348 4002Átviteli idő (ms) 0.366 6.75 83.2Csomagok száma 1 6 69Overhead (bájt) 68 408 4692Átviteli idő (ms) 0.0374 0.68 8.38Csomagok száma 1 6 69Overhead (bájt) 68 408 4692
LAN1
LAN2
LAN3Átviteli idő (ms) 0.234 4.25 52.3
Átlagos átviteli idő adott hálózaton:0.8× (KérésÁtvIdő+ RövidVálaszÁtvIdő)+ 0.2× (KérésÁtvIdő+ HosszúVálaszÁtvIdő)
Hálózati teljesítmény példa 5.
LAN1 LAN2 LAN30.0224 0.00223 0.0141
LAN1 LAN2 LAN340 4.5 0.4 2.880 9 0.9 5.6
120 13.4 1.4 8.5160 17.9 1.8 11.3200 22.4 2.3 14.1
Átlagos átviteli idő (s)
Kliensek száma
Kihasználtság (%)
Hasonlóan kiszámítható, ha megváltozik a kérések intenzitása.
200 22.4 2.3 14.1240 26.9 2.7 16.9280 31.4 3.2 19.7
Kihasználtság törvénye
� Kihasználtság törvénye (Utilization Law)
Ui: az i. erőforrás kihasználtsága
Bi: foglaltsági ideje a monitorozás alatt
T: mérési idő
i i i 0 i i 0 i i iU = B/T = B/(C /X) = (B /C )× X = S × X
T: mérési idő
C0: tranzakciók száma
Si: átlagos kiszolgálási idő
Xi: átlagos áteresztőképesség
λi: érkezési ráta
λ i iEgyensúly : = X
λi i i i iU = X ×S = ×S
További törvények
Forced Flow törvény:
Xi : az I. erőforrás áteresztőképessége
Vi : „látogatások” átlagos száma
X0: tranzakciók átlagos száma
Szolgáltatás igény törvénye (Service Demand):
i i 0X =V × X
Szolgáltatás igény törvénye (Service Demand):
i i i i 0 i i i 0D =V × S = (X /X )× (U/X) = U/X
Forced Flow Kihasználtság tv.
Little törvénye
T ideig figyeljük a rendszert
k rendszerben lévő kérések az intervallumban,
R
NX
Rendszerben töltött átl. idő
ÁteresztőképességRendszerben lévő kérések
fk az idő amíg k darab kérés van
a rendszerben
rk a rendszerben töltött idő összege
C0: ennyi kérés hagyta el a rendszert
∑ ∑k
k
k k
rN = k × f = k ×
T
∑ k0 k
0
k * rC
N = *T CX R
N = X × R
A Little törvény alkalmazása
� Levelezési szolgáltatást nyújtó portál2.000.000 regisztrált felhasználó, 30%-uk küld levelet csúcsterhelésnél (1 óra hosszú). Egy email feldolgozása 5.0 másodperc, 3.5 levelet küld egy felhasználó. Egy levél mérete átlagosan 7120 bájt.
Mekkora spool fájl szükséges?
Átlagos levélméret alapján
LevelekÁtlagosSzáma = Áteresztőképesség×Válaszidő
(2,000,000×0.30×3.5×5.0)= = 2916.67
3,600
SpoolFileMéret = LevelekÁtlagosSzáma×LevelekÁtlagosMérete
= 2916.67×7120 bájt = 20.767 Mb
A Little törvény alkalmazása 2.
� Webes bróker, 3 rétegű architektúra(Web szerver, Alkalmazás szerver, Adatbázis szerver)
o 1.1 millió felhasználó, 20000 használja a rendszert egyszerre (csúcsterhelés)
o A rendszer 3.6 millió kérést dolgoz fel óránként
o Minden kérés átlagosan 1.4 tranzakciót generál az adatbázis szerveren, ami a vállalati mainframe-en találhatószerveren, ami a vállalati mainframe-en található
o A mainframe 11500 kérést dolgoz fel másodpercenként
� Mennyi az átlagos válaszidő?
� A válaszidő mekkora részét tölti a válasz a mainframe-
en?
A Little törvény alkalmazása 3.
Az egész rendszer „fekete doboz”:
A mainframe a „fekete doboz”:
20,00020 sec
3,600,000 / 3,600
FelhasználókÁtlagosSzámaÁtlagosVálaszidő =
RendszerÁteresztőképesség
= =
A mainframe a „fekete doboz”:
A kettő aránya:
20,000 1.42.43 sec
11,500
TranzakciókÁtlagosSzámaÁtlagosVálaszidő
MainframeÁteresztőképesség=
×= =
1.4 2.43 sec17%
20.0 secMainframeHasználatRendszerHasználat
× = =
Könyvesbolt példa
� Bemenő adatok:
Mérhető értékek
Modellb ől kapjuk (CBMG, CSID)
Adat ÉrtékÖsszes session száma 35000Web szerver foglaltság összesen (sec) 1200DB szerver folglatság összesen (sec) 2100Mérési intervallum (sec) 3600Keresések száma/Session 2,50Web szerver kérés/Keresés 1,95DB szerver kérés/Keresés 0,95
� Mennyi egy keresés tranzakció DB szerver szolgáltatási ideje?
21000.025 sec
35000 2.5 0.95
DiSi
Vi= = =
× ×∑∑
(CBMG, CSID)DB szerver kérés/Keresés 0,95
Könyvesbolt példa 2.
� Web szerver és Adatbázis szerver
A Web szerver TCP fölött kommunikál, a kérés mérete 400 bájt, a
válasz 9150 bájt. A hálózat 100BASE-T Ethernet.
Milyen a hálózat kihasználtsága?
35,000 2.5 1KeresésekSzáma ×0
35,000 2.5 124.3
3,600 sec secKeresésekSzáma
XMérésiIntervallum
×= = =
4001
1460
91507
1460
kéréskérés
válaszkválasz
ÜzenetMéretCsomagokSzáma
MaxSzegmensMéret
ÜzenetMéretCsomagokSzáma
MaxSzegmensMéret
= = =
= = =
Könyvesbolt példa 3.
( ) ( )6 1460 58 1 390 58 8 × + + × + ×
6 6
( ) 8 (400 20 20 18) 810 10 100
0.366 msec
kérés kéréskérés
ÜzenetMéret OvhdSzolgIdő
Sávszélesség
+ × + + + ×= =× ×
=
( ) ( )6
6 1460 58 1 390 58 87.64 msec
10 100válaszSzolgIdő
× + + × + × = = ×
324.3 (0.366 7.64)10 19.5%
jn j n
üzenetek
U = ×SzolgáltatásIdő
−= × + =
∑ λ
Könyvesbolt példa 4.
� Bemenő adatok:
Adat ÉrtékÖsszes session száma 35000Web szerver foglaltság összesen (sec) 1200DB szerver folglatság összesen (sec) 2100Mérési intervallum (sec) 3600Keresések száma/Session 2,50Web szerver kérés/Keresés 1,95
Mérhető értékek
Modellb ől kapjuk
� Változhato vásárlók száma
o vásárlók viselkedése
o rendszer paraméterek (pl. fájlok átlagos mérete)
Web szerver kérés/Keresés 1,95DB szerver kérés/Keresés 0,95
Átlagos Web szerver szolg. igény (DWS) msec 13,71
Átlagos DB szerver szolg. igény (DDB) msec 24,00
Átlagos Web szerver szolg. idő (SWS) msec 7,03
Átlagos DB szerver szolg. idő (SDB) msec 25,26
Modellb ől kapjuk (CBMG, CSID)
Kiszámolható
Könyvesbolt példa 5.
Milyen lesz a szerverek kihasználtsága, ha
megduplázódik a felhasználók száma (csúcsterhelés)?
o megduplázódik a Session-ök száma
o tfh. nem változik a felhasználók viselkedése
2 35,000 2.50.01371 66.67%U X D
× ×= × = × =
Fejleszteni kell az adatbázisszervert!!!
02 35,000 2.5
0.01371 66.67%3600
WS WSU X D× ×= × = × =
0 48.61 0.024 116.7%DB DBU X D= × = × =
Könyvesbolt példa 6.
Milyen lesz a hálózat kihasználtsága, ha a képek
mérete megduplázódik?
Az egyszerűség kedvéért tfh. a keresés válaszának mérete is
megduplázódik. Ha minden más változatlan (válasz 18300 bájt):
( ) ( )12 1460 58 1 780 58 8 × + + × + × ( ) ( )6
12 1460 58 1 780 58 815.24 msec
10 100válaszSzolgIdő
× + + × + × = = ×
324.3 (0.366 15.24)10 36%
jn j n
üzenetek
U = × SzolgáltatásIdő
−= × + =
∑ λ
Könyvesbolt példa 7.
Milyen lesz a teljesítmény, ha megváltozik a
felhasználók viselkedése és átlagosan 50%-kal többet
keresnek az oldalon?
Átbocsátást és kihasználtságot számolunk.
35,000×3.75 135,000×3.75 136,46
3,600 sec0X = =
01
36.45 0.01371 sec 49.97%sec
WS WSU X D= × = × =
01
36.45 0.024 sec 87.48%sec
DB DBU X D= × = × =
Kritikus!
Szűk keresztmetszet, skálázhatóság
� Szűk keresztmetszet:
o azok az erőforrások, melyek korlátozzák a teljesítményt
o analízis maximális terhelésnél (pesszimista érték)
� Nem mindig kell pontos szám
o Aszimptotikus Határérték Analízis
(Asymptotic Bound Analysis)(Asymptotic Bound Analysis)
� Fogalmak
o K: erőforrások száma
o Di: szolgáltatásigény az i. erőforráson
o Dmax: a legnagyobb szolg. igény
o Dmin: a legkiseb szolg. igény
o λmax: érkezési ráta
Nyílt modellek
� Nincs explicit korlát a rendszerben lévő kérésekre
� Ha az egyensúly teljesül:
� 3 rétegű architektúra példa maxmax
1D
λ ≤
� Mi a szűk keresztmetszet?
� Mennyi a max. áteresztőképesség?
Réteg Szerverek száma Szolg. átl. igénybevétele Átl. s zolg. id őWeb szerver 5 1,8 110 msecAlkalmazás szerver 3 2,5 230 msecDB szerver 2 2,3 180 msec
Egy tipikus E-Business szolgáltatás adatai
Nyílt modellek 2.
1.80.110 0.0396 sec
5
0.192 sec
0.207 sec
WSWS WS
WS
ASAS AS
AS
DBDB DB
DB
VD S
N
VD S
N
VD S
N
= × = × =
= × =
= × =
Az adatbázis szerver a sz űk keresztmetszet
DBN
1 14.83
0.207 sec secλ ≤ =
Tranzakciók max. gyakorisága
0
4.83 szolgáltatás2.1
2.3 secDB
DB
XX
V≤ = =
E-Business szolgáltatások max. gyakorisága (Forced Flow)
Zárt modellek
� Felső korlát a kérések számára vonatkozóan (N)
� Ideális eset: nincs kérés várakozási sorban
( ) ( )
( )
0
1
i
i
U NX N
D
U N
=
≤( )0
max
1X N
D≤
( )0total
NX N
D≤
Little tv.
( )
( )0
1
1i
i
U N
X ND
≤
≤Service Demand tv.
maxD
( )0
1min ,
maxN
X NDtotal D ≤
Zárt modellek 2.
� Példa: az előbbi 3 rétegű architektúraEgyszerre max. 20 kliensnek nyújt szolgáltatást: N = 20
0.0396 sec 0.192 sec 0.207 sec 0.4386 sectotal WS AS DBD D D D= + + = + + =
( ) 20 120 min ,X ≤ ( )
( )
( )
0
0
0
20 min ,0.4386 sec 0.207 sec
1 120 min 45.59 ,4.83
sec sec
120 4.83
sec
X
X
X
≤
≤
≤