290 likes | 384 Views
Terhelés modellek, benchmarkok. Számítógépes infrastruktúra rendszertervezése BME MIT 2004. Terhelés modell. Terhelés modell meghatározása. Adatgyűjtés benchmarkok (Terhelés ea.) ökölszabályok „best practices” mérések Monitorozás belső (szerver) külső (kliens, hálózat)
E N D
Terhelés modellek, benchmarkok Számítógépes infrastruktúra rendszertervezése BME MIT 2004.
Terhelés modell Számítógépes infrastruktúra rendszertervezése
Terhelés modell meghatározása • Adatgyűjtés • benchmarkok (Terhelés ea.) • ökölszabályok • „best practices” • mérések • Monitorozás • belső (szerver) • külső (kliens, hálózat) • Adatok rendszerezése • klaszter technikák Számítógépes infrastruktúra rendszertervezése
Terhelés mérése ellenőrzött környezetben Kliens gépen futó tesztelő szkript Dedikált szerver Teljesítmény monitorozás Teljesítmény monitorozás DEDIKÁLT HÁLÓZAT Számítógépes infrastruktúra rendszertervezése
Terhelés modell minta Számítógépes infrastruktúra rendszertervezése
Mire jó a benchmark? • Felhasználók: • termék összehasonlítás • méretezés meghatározása • Gyártók • összehasonlítás a konkurenciával • tesztelés • teljesítményküszöb demonstráció • Benchmark-kal mérhető • hardver erőforrások (CPU, VGA kártya, stb.) • szoftver rendszerek (DBMS, Web szerver, stb.) • komplex megoldások (üzleti rendszerek, ld. TCP-W), stb. Számítógépes infrastruktúra rendszertervezése
Bechmark környezet • Specifikáció • hardver • szoftver • üzemviszonyok • ütemezés • dokumentáció • Alapelvek • kölcsönös zavarás minimalizálása (üzem közben) • Pareto elv (80/20) • prekoncepció (mit mérünk) • terhelés közelítse a valós mintát • terhelésprofilok Számítógépes infrastruktúra rendszertervezése
Benchmark terhelési modellek • Tudományos/műszaki rendszerek • nagy mennyiségű adat feldolgozása (number crunching) • párhuzamos módszerek • Tranzakciókezelés (OLTP) • kliens-szerver környezet • sok gyors, párhuzamos tranzakció • Batch jellegű adatfeldolgozás • riport készítés nagy mennyiségű adatból • Döntéstámogatás • kevés, bonyolult lekérdezés • ad hoc műveletek • sok adat Számítógépes infrastruktúra rendszertervezése
Benchmark terhelési modellek • Hálózati technológiák • Web szerver • Mail szerver • objektum technológiák (ORB, SOAP, stb.) • összetett (több rétegű) rendszerek • Alkalmazások • automatikus végrehajtás • Nehéz általános benchmarkot kidolgozni • sok mérés alkalmazás specifikus • pl. .NET vs. j2EE rendszerek – különböző benchmarkok Számítógépes infrastruktúra rendszertervezése
Mérendő paraméterek • Futási idő • kezdet, vég? • eloszlás • CPU, I/O, hálózat,… • Tranzakiósebesség • rendszer reakcióideje • akár egymásba ágyazott tranzakciók • Áteresztőképesség • feldolgozott adatmennyiség / futási idő • terhelés függvényében Számítógépes infrastruktúra rendszertervezése
Mérendő paraméterek • Válaszidő (folyt.) • terhelés függvényében • felhasználók • tranzakciók száma, stb. • eloszlás meghatározása • szélsőséges értékek • legjellemzőbb: percentil Számítógépes infrastruktúra rendszertervezése
Eredmények összehasonlítása • pl. referenciarendszer alapján • Több paraméter alapján ellentmondást kaphatunk • Absztrakt referencia („standard benchmark”) • Adatbányászati módszerek • Önskálázó benchmarkok • formális rendszermodell alapján • referencia: jósolt teljesítmény • elemi kérések nagysága • I/O arány • egyidejű kérések száma, stb. Számítógépes infrastruktúra rendszertervezése
Tipikus problémák • Túl kicsi problémaméret • Elavult referenciák • „Rejtett” paraméterek • konfigurációs beállítások • adott környezet specifikus tulajdonságai • Elfogultság • Hiányos specifikáció Számítógépes infrastruktúra rendszertervezése
SPEC benchmarkok • http://www.spec.org/benchmarks.html • Standard Performance Evaluation Corp. • Erőforrás és alkalmazás szintű benchmarkok • CPU • Alkalmazások • Levelező szerverek • Web szerverek • Network File System, stb. • Benchmark: megrendelhető szolgáltatás Számítógépes infrastruktúra rendszertervezése
SPEC benchmarkok • SPECweb99 • Párhuzamos kapcsolatok • Dinamikus kérés generálás • SPECmail2001 • Válaszidő, áteresztőképesség • SMTP, POP3 protokollok • 10,000 – 1,000,000 felhasználó • SPECviewperf • grafikus rendszerek (OpenGL) • viewset-ek definiálhatók (grafikus alkalmazás) • árnyalás • fényerő • stb. Számítógépes infrastruktúra rendszertervezése
SPECmail2001 példa Számítógépes infrastruktúra rendszertervezése
Benchmark rendszerek összehasonlítása n db különböző mérőszám rendszer kiértékelése m db mérendő rendszerre távolság értékek normálása 0 és 1 közé az i. és a j. benchmark mérőszám rendszer távolsága a (mérőszám) rendszerek összehasonlítása Számítógépes infrastruktúra rendszertervezése
Benchmark rendszerek összehasonlítása • Benchmark rendszerek (pl. SPEC): • több mérőszámot használnak fel • melyik lényeges, hány mérőszám kell? • Méret (size, D) • „gömb” (n. dimenziós) „térfogata”, amelyik tartalmazza az összes értéket • Lefedettség (utilization/coverage, U): SPEC rendszer lefedettségének fejlődése Számítógépes infrastruktúra rendszertervezése
Benchmark rendszerek összehasonlítása • Teljesség • mely mérőszám csoportok mennyire fedik le a rendszer • Redundancia • az egyes mérőszámok közt mennyi az átfedés • ha 10-20%-nál kisebb a különbözőség, helyettesíthető pl. gcc mérőszámmal helyettesítjük a többit forrás: Jozo J. Dujmovic, Ivo Dujmovic: Evolution and evaluation of SPEC benchmarks http://portal.acm.org Számítógépes infrastruktúra rendszertervezése
TPC benchmarkok • http://www.tpc.org/information/benchmarks.asp • Transaction Processing Council • TPC-C(elektronikus kereskedelem, banki rendszer): • felhasználók tranzakciókat hajtanak végre • rendelés/lemondás, lekérdezés, stb. • szervereket hasonlít össze • HW • OS • DBMS • egyéb paraméterek: • tervezett rendelkezésre állás, elérhetőség (pl. 24/7 vs. 8/5) • OLTP rendszerek mérőszámai: • tranzakciós ráta (tpmC): 5 különböző fajta tranzakció alapján • ár / tranzakció ($/tpmC): fenntartási költségek / tranzakciók Számítógépes infrastruktúra rendszertervezése
TCP benchmarkok 2. • TCP-R (döntéstámogatás): • összetett lekérdezések • TCP-R metrikák: • QphR@Size, lekérdezések száma/óra • függ az adatbázis méretétől • $/QphR@Size, lekérdezések ára • Példa (TCP-C): TpmC $/TpmC Számítógépes infrastruktúra rendszertervezése
TPC-W • TCP-W (Web e-Commerce rendszerek): • komplex rendszereket hasonlít össze • különféle szerverek összekapcsolása • dinamikus oldalak • 3 különböző profil vizsgálata • rendelés gyakorisága különböző • szimulált terhelés • könyvesbolt a mintarendszer • bejelentkezés, bevásárlókocsi, online rendelés • hitelkártya információ külső szolgáltatótól (Payment Gateway) • böngészőből elérhető Számítógépes infrastruktúra rendszertervezése
TCP-W konfiguráció Számítógépes infrastruktúra rendszertervezése
TCP-W mérés • Emulált böngészők • „gondolkodási idő”, átlag 7 sec, max. 70 sec • döntési valószínűségek (Web Interaction Mix) • válaszidő követelmények • új / régi felhasználók (regisztrálás, cache) • felhasználók száma (Number of Users) • Scale factor: • könyvek száma az adatbázisban, 1000…10,000,000 • Átlagos vagy Worst Case értékek Számítógépes infrastruktúra rendszertervezése
TCP-W metrikák • Web Interactions Per Second (WIPS) • tökéletes rendszer: WIPS = Number of Users / 7 • ha WIPS < Number Of Users / 14 • nagy adatbázis méretnél gondok lehetnek • WIPSb: inkább böngészés (más emuláció) • WIPSo: inkább rendelés, erős adatbázis terhelés • WIPSo ~ WIPS*( 1/3…1/2) • Web szerver teljesítmény mérés • CPU használat • HTTP bytes/sec • Adatbázis szerver mértékek • mint a Web szervernél + Diszk I/O Számítógépes infrastruktúra rendszertervezése
TCP-W tulajdonságai • Előnyök • komplex rendszer tesztelés • valós viszonyok • terheléskiegyenlítés a Web szerverek közt • külön Image szerver • Web cache használata • Hátrányok: • nem valós alkalmazást használ • alacsony szinten van kódolva • túl egyszerű lekérdezéseket használ • kevés kép/oldal van a mintarendszerben • ezért tiltja a cache-t az emulált böngészőben forrás: Wayne D. Smith: TCP-W: Benchmarking An Ecommerce Solution http://www.tpc.org/tpcw/TPC-W_Wh.pdf Számítógépes infrastruktúra rendszertervezése
Terhelés benchmark példa • Standard Performance Evaluation Corp. • Alkalmazás szerver SPEC CINT2000=431 • Egy szolgáltatás CPU igénye 10 ms • Új szerver, SPEC CINT2000=518 • Új CPU igény: 10 / (518/431) = 8.3 ms • Fontos: jó benchmarkot válasszunk! • Pl. lebegőpontos számítás esetén SPEC CFP2000 kéne Számítógépes infrastruktúra rendszertervezése
Terhelés előrejelzés • A terhelési modell várható változása • Többféle technika létezik • Példa: lineáris regresszió Számítógépes infrastruktúra rendszertervezése
Terhelés előrejelzési technikák Számítógépes infrastruktúra rendszertervezése