Teljesítménymodellezés
|
|
- Sarolta Pásztorné
- 6 évvel ezelőtt
- Látták:
Átírás
1 Teljesítménymodellezés Rendszermodellezés 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 2
3 Egy ismerős példa 3
4 Egy ismerős példa 4
5 ( ezt tudják mások is ) 5
6 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
7 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
8 Alapfogalmak Terhelési diagram Erőforrásmodellezés TARTALOM 8
9 Alapfogalmak Terhelési diagram Erőforrásmodellezés ALAPFOGALMAK Érkezési ráta, átbocsátás 9
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 Bejött(t) Kiment(t) = Bentvan(t) Bejött(t) Folyamat Kiment(t) Bentvan(t) 10
11 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
12 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
13 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
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 = X > X < X Bejött(t) Bentvan(t) Kiment(t) Bejött(t) Bentvan(t) Kiment(t) Bejött(t) Bentvan(t) Kiment(t) t [s] t [s] t [s] 14
15 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
16 Korlátos kapacitás DDoS Idáig N akár végtelen is lehetett Mi van, ha véges? 16
17 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
18 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
19 X (átbocsátás, 1/s) Terhelési diagram (érkezési ráta, 1/s) 19
20 X (átbocsátás, 1/s) Terhelési diagram Stabil működés Egy ideális világban egyensúlyi állapotban = X (érkezési ráta, 1/s) 20
21 X (átbocsátás, 1/s) Terhelési diagram Stabil működés Telített működés Amíg egyszer a rendszer meg nem telik (érkezési ráta, 1/s) 21
22 X (átbocsátás, 1/s) Átbocsátóképesség X max Stabil működés Telített működés Átbocsátóképesség: a maximális átbocsátás Jele: X max X max (érkezési ráta, 1/s) 22
23 U (kihasználtság, %) Kihasználtság % 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 Kihasználtság (Utilization): 20 U = X X max 0 X X max X (átbocsátás, 1/s) 23
24 X (átbocsátás, 1/s) Közelítő terhelési függvény X max Stabil működés Telített működés A számításokban a terhelési diagramot közelítjük a stabil és a telített szakaszokkal. 0 X max (érkezési ráta, 1/s) 24
25 X (átbocsátás, 1/s) Valós terhelési diagram X max Stabil működés Telített működés A valóságban az átbocsátás hamarabb leromlik 0 X max (érkezési ráta, 1/s) 25
26 X (átbocsátás, 1/s) Valós terhelési diagram X max Stabil működés Telített működés Sőt, vissza is eshet. Ilyenkor a rendszer vergődik. 0 X max (érkezési ráta, 1/s) 26
27 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
28 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
29 Elriasztott kérések esete Az igények csak a fanatikus klienseknél függetlenek a sor hosszától. 29
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
31 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
32 Neptun tárgyfelvétel Max. egyidejű felhasználó Max. egyidejű felhasználó optimális működés mellett 32
33 Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség (X max ) Mikor volt telített (túlterhelt) a Neptun? 33
34 Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség (X max ) Mikor volt telített (túlterhelt) a Neptun? 34
35 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!
36 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!
37 X (átbocsátás) Példa adatvizualizáció = X (érkezési ráta) 37
38 Alapfogalmak Terhelési diagram Erőforrásmodellezés ERŐFORRÁSMODELLEZÉS Miből származik az átbocsátás korlátja? 38
39 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 𝒉
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: Egyensúlyi állapotban! X max (1) = 1 T =X max X max 40
41 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
42 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
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 T X max (1) T = 1 = U 43
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 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
45 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
46 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
47 Scale-out a hétköznapokban 47
48 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
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: o Legyen T az átlagos végrehajtási idő X max (K) = K X max (1) = K T 49
50 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
51 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
52 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
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: 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
54 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
55 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
56 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
57 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