Teljesítménymodellezé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
Egy ismerős példa 2
Egy ismerős példa 3
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 4
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 5
Alapfogalmak Terhelési diagram Erőforrásmodellezés TARTALOM 7
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) 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) 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 13
Definíció: ráta, átbocsátás Érkezési ráta: egységnyi idő alatt érkező kérések = Bejött(t) t [ ] = 1 s Átbocsátás: egységnyi idő alatt feldolgozott kérések X = Kiment(t) t [X] = 1 s t = 1 t = 1 X N = Bentvan(t) 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 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] 16
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) 18
Korlátos kapacitás DDoS Idáig N akár végtelen is lehetett Mi van, ha véges? 20
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 21
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 22
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) 24
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) 25
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) 26
X (átbocsátás, 1/s) Átbocsátóképesség 140 120 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: 40 20 0 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 27
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 0 X 0 20 40 60 80 100 120 140 160 180 200 220 240 X (átbocsátás, 1/s) 28
X (átbocsátás, 1/s) Közelítő terhelési függvény 140 120 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 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 29
X (átbocsátás, 1/s) Valós terhelési diagram 140 120 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 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 30
X (átbocsátás, 1/s) Valós terhelési diagram 140 120 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 0 20 40 60 80 100 120 140 160 180 200 220 240 (érkezési ráta, 1/s) 31
Definíciók Átbocsátóképesség: a maximális átbocsátás. o Jele: Kihasználtság (Utilization): a jelenlegi átbocsátás és a maximális átbocsátás aránya. o U = X Vergődés: a rendszer átbocsátása visszaesik a telített működés során. 32
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 33
Elriasztott kérések esete Az igények csak a fanatikus klienseknél függetlenek a sor hosszától. 34
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. 35
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. 36
Neptun tárgyfelvétel Max. egyidejű felhasználó Max. egyidejű felhasználó optimális működés mellett 37
Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség ( ) Mikor volt telített (túlterhelt) a Neptun? 38
Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség ( ) Mikor volt telített (túlterhelt) a Neptun? 39
Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség ( ) 40 Jól konfigurált szerverek, megfelelő terhelésméretezés!
Ugyanez az alapja a DDoS elleni védekezésnek is Neptun tárgyfelvétel Érkezési ráta ( ) Átbocsátóképesség ( ) 41 Jól konfigurált szerverek, megfelelő terhelésméretezés!
X (átbocsátás) Előzetes: Adatvizualizáció 14000 12000 = X 10000 8000 6000 4000 2000 0 0 2000 4000 6000 8000 10000 12000 14000 (érkezési ráta) 42
Alapfogalmak Terhelési diagram Erőforrásmodellezés ERŐFORRÁSMODELLEZÉS Miből származik az átbocsátás korlátja? 44
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? (1) És nyolc javító? = 1 ZH 15 perc = 4 ZH h (8) = 8 (1) = 8 1 ZH 15 perc = 32 ZH h 45
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! (1) = 1 T = 46
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: (1) = 1 T Hány végrehajtás fér bele egy egységnyi időbe? T ZH = 15 perc = 4 1 h ZH ZH ZH ZH 1 óra 47
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 48
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 (1) = 1 T (1) T = 1 = U 49
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 (1) = 1 T (1) A kihasználtság képlete tehát: Intuitíven: U = X T 50 T = 1 = U 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?
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 (1) = 1 T (1) A kihasználtság képlete tehát: Intuitíven: U = X T T = 1 = U X = 3 1 h T ZH = 15 perc U = 75% ZH ZH ZH Kávé 1 óra 51
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 52
Slace-out a hétköznapokban 53
Scale-out a Neptunban A terheléselosztó osztja szét a kéréseket 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 54
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ő (K) (1) = K = K T 55
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ő (K) (1) = K = K T 56
Vízvezeték analógia Egyetlen kizárólagos erőforráspéldány K szabadon választható erőforráspéldány Átbocsátóképesség: (1) Átbocsátóképesség: (K) (1) = K Xmax 57
K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: (K) = K T (K) T = K =? K U 58
K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: (K) = K T (K) T = K = K U 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? 59
K erőforráspéldány kihasználtsága Az előző gondolatmenet analógiájára: (K) = K T (K) T = K = K U 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ó 60
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 = 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 61