1 / 27

Teljesítménymérés

Intelligens rendszerfelügyelet. Teljesítménymérés. Tóth Dániel (és Micskei Zoltán). Teljesítménymérés. Mi köze ennek a monitorozáshoz?. Az én gépem 3DMark2018-ban 38592 pontot ér el!. Nekem kicsit komolyabb dologra kell a teljesítménymérés….

rob
Download Presentation

Teljesítménymérés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intelligens rendszerfelügyelet Teljesítménymérés Tóth Dániel (és Micskei Zoltán)

  2. Teljesítménymérés • Mi köze ennek a monitorozáshoz? Az én gépem 3DMark2018-ban 38592 pontot ér el! Nekem kicsit komolyabb dologra kell a teljesítménymérés… Én 7.131 GHz-re húztam a processzoromat és most az Everest CPU benchmarkban 13823 pontot ér el! $$$

  3. Teljesítménymérés • Mi köze ennek a monitorozáshoz? Ha nem tudja kiszolgálni, vegyünk több vasat! Nekem az a fontos, hogy az „üzleti” célt ki tudja szolgálni az infrastruktúra Biztos, hogy ez segít? Biztos, hogy ez a költséghatékony megoldás?

  4. Teljesítménymérés • Mi köze ennek a monitorozáshoz? • A monitorozásnak lehet egy részfeladata a futási teljesítményadatok gyűjtése • Mit tegyünk ha nem elég jó a teljesítmény? • Több, gyorsabb erőforrás allokálása a feladatra? • Nem tudjuk, hogy pontosan melyik részfeladatra allokáljunk többet… • Nem tudjuk, hogy mi lesz a pontos hatása • Lehet, hogy az alkalmazást kéne inkább optimalizálniuk a programozóknak? • De melyik részét? • És mi lesz ennek az üzleti szempontból fontos hatása? Capacity Management

  5. Teljesítménymérés • Összetett fogalom • Metrikák: • válaszidő, késleltetés, áteresztőképesség… • Minden szereplőnek más fontos: • felhasználó: felület válaszideje • fejlesztő: skálázhatóság • üzemeltető: kihasználtság

  6. Teljesítménymérés Garantáltan valós adatok, nem irányítható terhelés Tetszőlegesen generált terhelés

  7. Az előző rész tartalmából… • Tipikusan miket mérünk? • Hardver erőforrások • Pl.: CPU terheltség, memória foglaltság, I/O… • Operációs rendszer • Virtuális memória, fájlrendszer… • Web szerver • kérés/perc, hibás kérések száma, byte/sec… • Adatbázis szerver • tranzakció/perc, zárak száma, lekérdezési terv

  8. PÉLDA: Adatbázis szerver teljesítménye • Adatbázis tranzakció teljesítmény:

  9. Komplex alkalmazások teljesítménymérése • Egy konkrét kérés lefutási ideje? • Komponenseken mért részidők párosítása?

  10. ApplicationResponseMeasurement (ARM) Kibocsátó: The Open Group Megalkotók: IBM, Sun, HP, Oracle, SAP… Verziók: ARM 1.0 – 1996, aktuális: ARM 4.1 – 2007 Cél: alkalmazások menedzselése végpontól-végpontig

  11. Cél • Üzleti alkalmazások felügyelete • Menedzsment platform és az alkalmazás összekapcsolása • Tipikus kérdések: • Milyenek az alkalmazás szintű válaszidők? • Mik a szűk keresztmetszetek? • Milyen IT erőforrásokat használ egy adott kérés? • Mi miatt hibásodott meg a kérés?

  12. Megoldás ötlete • Az alkalmazás kódjának instrumentálása • processRequest() • { • armTransaction.start(); • // processRequest • armTransaction.stop(); • } • doTransaction() • { • armTransaction.start(); • // dotransaction • armTransaction.stop(); • } • newRequest() • { • armTransaction.start(); • // call business logic • armTransaction.stop(); • } 2 ms 4 ms 5 ms Webszerver Adatbázis szerver Alkalmazásszerver

  13. ApplicationResponseMeasurement • Szabvány: C és Java nyelvű API • ARM keretrendszer: Adatgyűjtő ágens Áttekintés, jelentés Teljesítmény adatok Szabványos API ARM implementáció

  14. Felügyelet a teljes tranzakción keresztül • Hívási lánc követése: • „Correlatortoken” átadása a beágyazott hívásoknak T3 Szülő: T2 T2 Szülő: T1 T1 Szülő: - Webszerver Adatbázis szerver Alkalmazásszerver

  15. Finomabb felbontás kezelése Kezdeti felkészülés mérése Várakozási idő számítása

  16. Mért adatok felhasználása T3 Végrehajtás : 3 ms Várakozás: 0 ms T2 Végrehajtás : 4 ms Várakozás: 3 ms T1 Végrehajtás : 5 ms Várakozás: 4 ms Webszerver Adatbázis szerver Alkalmazásszerver Az idő nagy része várakozás → rossz kihasználtság Általában csak 4,5 ms szokott lenni, miért volt most lassú? Ezen érdemes gyorsítani

  17. Alap API felhasználása (részlet) publicvoidrun() { armRegisterAndInit(); … ArmTransactionarmParentTran = tranFactory.newArmTransaction(armApplication, armParentTranDef); armParentTran.start(); childTransaction.run(armParentTran.getCorrelator())) armParentTran.stop(childStatus); }

  18. Főbb osztályok a Java API-ban

  19. ARM eszközök

  20. ARM4 – nyílt forráskódú implementáció • http://www.arm4.org • ARM4 ágens fejlesztése • Java és C nyelvű implementáció is • JLAMP (Java, Linux, Apache, MySQL, PHP) • Apache: mod_arm4 modul • PHP: phparm projekt • Python: arm4module

  21. IBM EnterpriseWorkload Manager (EWLM) • e-Business alkalmazások felügyelete • ARM instrumentálás • DB2 UniversalDatabase • WebSphereApp. Server • Web szerver plug-in: • Apache, IIS, IBM HTTP Server

  22. EWLM példa jelentés

  23. Eclipse TPTP • Test & Performance Tools Platform • ARM felhasználása fejlesztőként • Telepítés: • TPTP all-in-one csomag telepítése • Build-to-ManageToolkit része • ARM instrumentálás kiválasztásához telepíteni kell a RemoteAgentControllert(RAC)!

  24. TPTP: ARM típusú instrumentálás kiválasztása

  25. TPTP: Eredmények megtekintése

  26. TPTP: Alternatíva – forráskód módosítása

  27. További információ • The Open Group, ApplicationResponseMeasurement szabvány • Mark W. Johnson, Monitoring and Diagnosing Applications with ARM 4.0, IBM • Enabling ARM services on IBM-instrumented middleware, EnterpriseWorkload Manager • ARM4.org: nyílt forráskódú ARM ágens • Apache, MySQL, php modulok • EclipseBuild-to-ManageToolkit (Btm) • ARM implementáció az EclipseTPTP-ben • Profiling an Application Using ARM

More Related