Teljesítménymodellezés

Hasonló dokumentumok
Átírás:

Teljesítménymodellezés Rendszermodellezés 2018. Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems 1

2

Egy ismerős példa 3

Egy ismerős példa 4

( ezt tudják mások is ) 5

A Neptun vázlatos felépítése Webszerverek Kérdés: Melyik szerverből mennyi kell? Melyik kritikus? Javítás után az adatbázis-szerverek omlottak össze Internet Kliens Kezdetben a terheléselosztó nem bírta a terhelést Terheléselosztó Adatbázisfürt 6

Terhelésmodellezés Emlékeztető: nemfunkcionális követelmények o Teljesítmény, átbocsátóképesség, stb. o Hogyan ellenőrizzük őket a rendszer megépítése nélkül? Terhelésmodellezés: o Az eddigi modellek kiegészítése időzítéssel, erőforrásokkal, kapacitáskorlátokkal o Célja: A rendszer teljesítményének értékelése a tervezési fázisban Kritikus részek azonosítása Skálázás, méretezés 7

Alapfogalmak Terhelési diagram Erőforrásmodellezés TARTALOM 8

Alapfogalmak Terhelési diagram Erőforrásmodellezés ALAPFOGALMAK Érkezési ráta, átbocsátás 9

Alapmodell Folyamatmodell végrehajtása sok kérésre o Vizsgálat tárgya: időfüggő viselkedés Működés leírása: o Időfüggvényekkel o Átlagos értékekkel Bejött(t) Kiment(t) = Bentvan(t) Bejött(t) Folyamat Kiment(t) Bentvan(t) 10

Alapmodell Folyamatmodell végrehajtása sok kérésre o Vizsgálat tárgya: időfüggő viselkedés Működés leírása: o Időfüggvényekkel o Átlagos értékekkel Bejelentkezett(t) Kijelentkezett(t) = Belépve(t) Bejelentkezett(t) Kijelentkezett(t) Belépve(t) 11

Emlékeztető: végrehajtási állapotok Folyamat/tevékenység végrehajtásának állapota: Bejött(t): Enabled állapotban lévő tokenek Bentvan(t): Running állapotban lévő tokenek Kiment(t): Completed állapotban lévő tokenek 12

Definíció: ráta, átbocsátás Érkezési ráta: egységnyi idő alatt érkező kérések = Bejött(t) t [ ] = db s Átbocsátás: egységnyi idő alatt feldolgozott kérések X = Kiment(t) t [X] = db s t = 1 t = 1 Megj: db s helyett 1 s is elfogadható konzekvens használat mellett N = Bentvan(t) 13 X

Definíció: egyensúlyi állapot Egyensúlyi állapot: Bentvan(t) közel állandó o Átlagos értékek csak ilyenkor használhatók! o Ilyenkor: = X = X > X < X 20 15 10 5 Bejött(t) Bentvan(t) Kiment(t) 20 15 10 5 Bejött(t) Bentvan(t) Kiment(t) 30 25 20 15 10 5 Bejött(t) Bentvan(t) Kiment(t) 0 0 2 4 6 8 10 12 14 t [s] 0 0 2 4 6 8 10 12 14 t [s] 0 0 2 4 6 8 10 12 14 t [s] 14

Definíció: egyensúlyi állapot Egyensúlyi állapot: Bentvan(t) közel állandó o Átlagos értékek csak ilyenkor használhatók! o Ilyenkor: = X Egyensúlyi állapotban: Percenként ugyanannyian lépnek be, mint ki Login/perc Logout/perc N =Belépve(t) 15

Korlátos kapacitás DDoS Idáig N akár végtelen is lehetett Mi van, ha véges? 16

Distributed Denial of Service (DDoS) Tömeges kérésgenerálás rendszer lefoglalása A leterhelt rendszert könnyebb támadni Teljes szolgáltatások leállíthatóak Az Anonymous kedvelt módszere 17

Alapfogalmak Terhelési diagram Erőforrásmodellezés TERHELÉSI DIAGRAM Az érkezési ráta és az átbocsátás kapcsolata, átbocsátóképesség 18

X (átbocsátás, 1/s) Terhelési diagram 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 19

X (átbocsátás, 1/s) Terhelési diagram 140 120 Stabil működés 100 80 60 40 20 0 Egy ideális világban egyensúlyi állapotban = X 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 20

X (átbocsátás, 1/s) Terhelési diagram 140 120 Stabil működés Telített működés 100 80 60 Amíg egyszer a rendszer meg nem telik 40 20 0 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 21

X (átbocsátás, 1/s) Átbocsátóképesség 140 120 X max Stabil működés Telített működés 100 80 60 Átbocsátóképesség: a maximális átbocsátás Jele: X max 40 20 0 X max 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 22

U (kihasználtság, %) Kihasználtság 140 120 100% 100 Stabil működés A jelenlegi Telített átbocsátás működésés a maximális átbocsátás aránya 80 U 60 40 Kihasználtság (Utilization): 20 U = X X max 0 X X max 0 20 40 60 80 100 120 140 160 180 200 220 240 X (átbocsátás, 1/s) 23

X (átbocsátás, 1/s) Közelítő terhelési függvény 140 120 X max Stabil működés Telített működés 100 80 60 40 20 A számításokban a terhelési diagramot közelítjük a stabil és a telített szakaszokkal. 0 X max 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 24

X (átbocsátás, 1/s) Valós terhelési diagram 140 120 X max Stabil működés Telített működés 100 80 60 40 20 A valóságban az átbocsátás hamarabb leromlik 0 X max 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 25

X (átbocsátás, 1/s) Valós terhelési diagram 140 120 X max Stabil működés Telített működés 100 80 60 40 20 Sőt, vissza is eshet. Ilyenkor a rendszer vergődik. 0 X max 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 26

Definíciók Átbocsátóképesség: a maximális átbocsátás. o Jele: X max Kihasználtság (Utilization): a jelenlegi átbocsátás és a maximális átbocsátás aránya. o U = X X max Vergődés: a rendszer átbocsátása visszaesik a telített működés során. 27

A modellben elhanyagolt hatások Taszkváltások számításigénye o Takarítás az előző után o Előkészítés a következőhöz Erőforrásváltás számításigénye Többszörös telítés o Egyszerre több erőforrás (pl. szerver) is telített o Pl. ha az M7-esen baleset van, bedugul a 70-es út is 28

Elriasztott kérések esete Az igények csak a fanatikus klienseknél függetlenek a sor hosszától. 29

A terhelésingadozás hatása Átlagos értékek vs. Valós terhelés Telített rendszerben a válaszidő 2-3 nagyságrenddel nagyobb is lehet! Qingyang Wang, Yasuhiko Kanemasa, Jack Li, Deepal Jayasinghe, Toshihiro Shimizu, Masazumi Matsubara, Motoyuki Kawaba, Calton Pu, Detecting Transient Bottlenecks in n-tier Applications through Fine-Grained Analysis, In Proc. of the 33rd International Conference on Distributed Computing Systems (ICDCS'13), Philadelphia, Pennsylvania, July 2013. 30

A terhelésingadozás hatása Átlagos értékek vs. Valós terhelés Telített rendszerben a válaszidő 2-3 nagyságrenddel nagyobb is lehet! Qingyang Wang, Yasuhiko Kanemasa, Jack Li, Deepal Jayasinghe, Toshihiro Shimizu, Masazumi Matsubara, Motoyuki Kawaba, Calton Pu, Detecting Transient Bottlenecks in n-tier Applications through Fine-Grained Analysis, In Proc. of the 33rd International Conference on Distributed Computing Systems (ICDCS'13), Philadelphia, Pennsylvania, July 2013. 31

Neptun tárgyfelvétel Max. egyidejű felhasználó Max. egyidejű felhasználó optimális működés mellett 32

Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség (X max ) Mikor volt telített (túlterhelt) a Neptun? 33

Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség (X max ) Mikor volt telített (túlterhelt) a Neptun? 34

Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség (X max ) 35 Jól konfigurált szerverek, megfelelő terhelésméretezés!

Neptun tárgyfelvétel Ugyanez az alapja a DDoS elleni védekezésnek is Érkezési ráta ( ) Átbocsátóképesség (X max ) 36 Jól konfigurált szerverek, megfelelő terhelésméretezés!

X (átbocsátás) Példa adatvizualizáció 14000 12000 = X 10000 8000 6000 4000 2000 0 0 2000 4000 6000 8000 10000 12000 14000 (érkezési ráta) 37

Alapfogalmak Terhelési diagram Erőforrásmodellezés ERŐFORRÁSMODELLEZÉS Miből származik az átbocsátás korlátja? 38

Példa: ZH javítás Egy hallgató dolgozatának kijavítása 15 perc Egy javító óránként hány dolgozattal végez? 𝒎𝒂𝒙 𝑿(𝟏) = 𝟏 𝒁𝑯 𝟏𝟓 𝒑𝒆𝒓𝒄 = 𝒁𝑯 4 𝒉 És nyolc javító? 𝒎𝒂𝒙 𝑿(𝟖) 𝟏 𝒁𝑯 𝒎𝒂𝒙 = 8 𝑿(𝟏) = 8 𝟏𝟓 𝒑𝒆𝒓𝒄 39 = 𝒁𝑯 32 𝒉

Kizárólagos erőforrás törvénye Ha a kérések közül egyszerre legfeljebb egy futhat o Pl. egyetlen szerver futtatja őket, azonos változót írnak o A többi kérés sorban áll Ekkor T az átlagos végrehajtási idő mellett: Egyensúlyi állapotban! X max (1) = 1 T =X max X max 40

Kizárólagos erőforrás törvénye Ha a kérések közül egyszerre legfeljebb egy futhat o Pl. egyetlen szerver futtatja őket, azonos változót írnak o A többi kérés sorban áll Ekkor T az átlagos végrehajtási idő mellett: X max (1) = 1 T Hány végrehajtás fér bele egy egységnyi időbe? T ZH = 15 perc X max = 4 1 h ZH ZH ZH ZH 1 óra 41

Mérhető idők Sorbanállási idő: Végrehajtási idő: Válaszidő: várakozás erőforrásra kérés feldolgozása Sorbanállási + Végrehajtási Válaszidő Sorbanállási Végrehajtási Az ismertetett képletek mindre működnek 42

Kizárólagos erőforrás kihasználtsága Kihasználtság: Az átbocsátás és az átbocsátóképesség aránya X max (1) = 1 T X max (1) T = 1 = U 43

Kizárólagos erőforrás kihasználtsága Kihasználtság: Az átbocsátás és az átbocsátóképesség aránya X max (1) = 1 X max T (1) T = 1 = U max A kihasználtság képlete tehát: Intuitíven: U = X T Az egységnyi idő alatt beérkező X taszk végrehajtása T végrehajtási idővel az egységnyi idő hányadrészét teszi ki? 44

Kizárólagos erőforrás kihasználtsága Kihasználtság: Az átbocsátás és az átbocsátóképesség aránya X max (1) = 1 X max T (1) T = 1 = U max A kihasználtság képlete tehát: Intuitíven: U = X T X = 3 1 h T ZH = 15 perc U = 75% ZH ZH ZH Kávé 1 óra 45

Kitekintés: skálázás Vertikális skálázás (Scale-up): o A feldolgozóegység teljesítményét növeljük o Pl. erősebb CPU, több RAM o Egyszerű és nagyszerű o Technológiai korlátok Horizontális skálázás (Scale-out): o A feldolgozóegységek számát növeljük o Pl. több CPU mag, több szerver o Elvileg korlátlanul növelhető o Plusz bonyolultság 46

Scale-out a hétköznapokban 47

A terheléselosztó osztja szét a kéréseket Scale-out a Neptunban Webszerverek Több szerver a megbízhatóság miatt (lásd későbbi tanulmányok) Internet Kliens Terheléselosztó Több szerver a teljesítmény miatt Adatbázisfürt 48

K erőforráspéldány használata Ha az összes kérés közül egyszerre legfeljebb K futhat o Pl. K darab fürtözött szerver futtathatja őket o A többi folyamatpéldány sorban áll Ekkor: o Legyen T az átlagos végrehajtási idő X max (K) = K X max (1) = K T 49

K erőforráspéldány használata Ha az összes kérés közül egyszerre legfeljebb K futhat o Pl. K darab fürtözött szerver futtathatja őket o A többi folyamatpéldány sorban áll Ekkor: Több erőforráspéldánnyal és párhuzamosítással a rendszer skálázható. o Legyen T az átlagos végrehajtási idő X max (K) = K X max (1) = K T 50

Egyetlen kizárólagos erőforráspéldány Vízvezeték analógia K szabadon választható erőforráspéldány Átbocsátóképesség: max X (1) Átbocsátóképesség: X max max (K) = K X (1) 51

K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: X max (K) = K T X max (K) T = K =? K U 52

K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: X max (K) = K X max T (K) T = K = K U max A kihasználtság képlete ebben az esetben: Intuitíven: U = X K T K időegység hányadrészében dolgozna 1 példány? Az egy példányra eső átlagos átbocsátás mellett mekkora egy erőforráspéldány kihasználtsága? 53

K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: X max (K) = K X max T (K) T = K = K U max A kihasználtság képlete ebben az esetben: U = X K T Intuitíven: X = 5 1 h T ZH = 15 perc U = 62,5% ZH Tea ZH Kávé ZH ZH ZH Kávé 1 óra, 2 javító 54

Egyensúlyi állapot: Összefoglalás o Átlagos értékekkel számolunk o = X (érkezési ráta = átbocsátás) Átbocsátóképesség: o Az elérhető maximális átbocsátás o X max = K (K erőforráspéldány esetén) T Kihasználtság: o Az átbocsátás és az átbocsátóképesség aránya o U = X T (K erőforráspéldány esetén) K 55

Példa: terhelés vs. kihasználtság Kiugró értékek/ Háttérműveletek? Eltérések?? Lineáris kapcsolat 56 Nagy terhelésnél nem jósolható működés

DEMÓ Blockchain rendszer teljesítményvizsgálata: áteresztőképesség, válaszidő, kihasználtság a terhelés függvényében, horizontális/vertikális skálázás hatása 57