klucz do wydajności jboss przemysław kuźnicki

27
Klucz do wydajności JBoss Przemysław Kuźnicki RHC{E,VA} JBCAA B2B Sp. z o.o. [email protected]

Upload: dinhdan

Post on 02-Jan-2017

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Klucz do wydajności JBoss Przemysław Kuźnicki

Klucz do wydajności JBoss

Przemysław Kuźnicki RHC{E,VA} JBCAAB2B Sp. z o.o.

[email protected]

Page 2: Klucz do wydajności JBoss Przemysław Kuźnicki

Agenda

• W poszukiwaniu klucza do wydajności.

• Analizy, analizy i anali... statystyki, trendy...

• Narzędzia typu APM.

• Nowa JVM – koniec problemu Stop The World i Big HEAP.

• Jak osiągnąć cel i znaleźć klucz?

Page 3: Klucz do wydajności JBoss Przemysław Kuźnicki

● Jakie problemy wydajnościowe middleware spotykają Państwo najczęściej?

● Respons time● Max requests● Big HEAP● Stop The World● Inne...

W poszukiwaniu klucza...

Page 4: Klucz do wydajności JBoss Przemysław Kuźnicki

Dwa zespoły jedna walka...

● W dążeniu do celu jakim jest wydajność ścierają się Developerzy vs Administratorzy● Odwieczny problem to nie my, to oni● Problem z odpowiednim testowaniem aplikacji● Brak optymalizacji infrastruktury● Niedostateczna wiedza o nowych

technologiach i narzędziach● Notoryczny brak czasu lub

niechęć do wprowadzania zmian● Inne...

Page 5: Klucz do wydajności JBoss Przemysław Kuźnicki

Którą drogę wybrać?

● Monitoring: tego co nam dostarczono lub sami wyprodukowaliśmy

● Poprawa produkcji oprogramowania

● Zmiana JVM

● A może...

Page 6: Klucz do wydajności JBoss Przemysław Kuźnicki

Szczegółowy monitoring wydajności Twojej aplikacji

Page 7: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance Management

• RootCause Transaction Instrumentation (RTI) jest aplikacją typu

Application Performance Management (APM), narzędziem

zapewniającym monitorowanie wydajności, ostrzegania

o problemach i "drążenia" szczegółów.

• Służy do pomiaru, diagnozowania i rozwiązywania złożonych

problemów z wydajnością oprogramowania w środowiskach

rozproszonych.

• Wspiera możliwości rozwoju, zapewnienia jakości i aktywnego

działania na temat zarządzania i poprawy wydajności aplikacji.

Page 8: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance Management

Page 9: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance Management

RTI współpracuje bezpośrednio z JBoss lub integruje się z JBoss OperationsNetwork, zapewniając następujące funkcjonalności:

• Business transaction: wykrywanie, monitorowanie i diagnostyka• Lightweight transaction profiling: zapewnia 24x7 monitorowanie wydajności w systemach produkcyjnych z zaledwie 2% narzutem• Deep-dive transaction tracing: transakcyjne śledzenia metod poprzez JVMs i ich diagnostyka• Metrics and Analysis: pomiary i analiza zasobów systemowych, metryki JBoss i JVM. Pozwalają określić, jakie transakcje są zbyt wolne, a następnie szybko zdiagnozować źródło problemu.• Enhanced performance alerting: zwiększona wydajność alertów wpływająca na zwiększenie współpracy personelu technicznego oraz developerów.• Extends JON: rozszerza możliwości JBoss Operations Network i umożliwia mu stanie się jedyną platformą do zarządzania, monitorowania wydajności i przyczyn problemów oraz diagnostyki.

Page 10: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance Management Interfejsy

Eclipse-based Console: własna konsola dla developerów. Poszerzająca szczegóły diagnostyki i śledzenia problemów, aż do poziomu pojedynczej metody.

Page 11: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance ManagementEclipse-based Console: profiling

Page 12: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance ManagementEclipse-based Console: deep-dive

Page 13: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance Management Interfejsy

Operational Dashboards: rozszerza możliwości JON o alerty wydajności, śledzenie transakcji, dodatkowe metryki i analizy.

Page 14: Klucz do wydajności JBoss Przemysław Kuźnicki

Application Performance ManagementOperational Dashboards: JON

Page 15: Klucz do wydajności JBoss Przemysław Kuźnicki

Zmień JVMi pozbądź się problemów

Page 16: Klucz do wydajności JBoss Przemysław Kuźnicki

Wysoce skalowalny i elastyczny runtime JVM, który obsługuje bardzo duże

HEAP bez zatrzymań na potrzeby GC. Zapewnia spójne czasy odpowiedzi

z gwarancją przewidywalności dla aplikacji korporacyjnych.

Produkt Zing JVM to:• Wysoce skalowalny i elastyczny runtime JVM, który jest w 100% kompatybilny z Java

• Zoptymalizowany by wspierać każdy kontener Java i aplikacji klasy enterprise

• Sprawdzony JVM 4tej-generacji, oparty o Oracle HotSpot

• Wszechstronna platforma, która zawiera narzędzia do wizualizacji, zarządzania i monitoringu całej JVM z jednej centralnej konsoli

Nowy JVM i ... koniec problemów?

Page 17: Klucz do wydajności JBoss Przemysław Kuźnicki

1. Poprawia szybkość działania aplikacji wspierając bez przestojowe GC

i bardzo duże obszary pamięci HEAP (1 – 512 GBs)

2. Bardziej jednolite czasy odpowiedzi aplikacji nawet pod obciążeniem

3. Większa niezawodność i dostępność aplikacji poprzez solidną i elastyczną JVM

4. Wyższe wskaźniki transakcyjności lub ilości użytkowników per instancja z wysokim wskaźnikiem zrównoważenia i przepustowości

5. Szybszy czas deploymentu i prostsze nim zarządzanie

6. Szybszy czas rozwiązywania problemów na produkcji poprzez narzędzia diagnostyczne z zero-overhead

Cechy Zing JVM

Nowy JVM i ... koniec problemów?

Page 18: Klucz do wydajności JBoss Przemysław Kuźnicki

Nowy JVM i ... koniec problemów?

Page 19: Klucz do wydajności JBoss Przemysław Kuźnicki

JVM został specjalnie zaprojektowany i zoptymalizowany pod Linux

1. Zing jest najmocniejszą JVM dla Linux

─ Zapewnie wysoką responsywność, skalowalność i przepustowość

─ Skalowanie do setek GBs pamięci i dziesiątek rdzeni procesorów

2. Tylko ta JVM została zaprojektowana i zoptymalizowana pod Linux

─ Aplikacje Java uzyskują elastyczną skalowalność dzięki wykorzystaniu nowoczesnych serwerów x86

3. Zapewnia głęboki wgląd w aplikację Java

─ Zero-overhead, i zawsze działającą w tle diagnostyką i monitoringiem, które redukują potrzebę strojenia i skracają czas potrzebny na rozwój aplikacji

4. Java oparta na sprawdzonej technologii firmy Azul

─ 100% kompatybilności z Java, prosta w instalacji, nie wymaga zmiany w kodzie aplikacji!!!

Nowy JVM i ... koniec problemów?

Page 20: Klucz do wydajności JBoss Przemysław Kuźnicki

eCommerce Portal App:

• 17.7 x więcej uzytkowników

• 6.8 x lepsze czasy odpowiedzi

• 10:1 konsolidacja instancji JVM

• Większa przepustowość

• Wysoka dostępność

Nowy JVM i ... koniec problemów?

Page 21: Klucz do wydajności JBoss Przemysław Kuźnicki

Przy okazji bardzo przydatna opcja JVM -XX:+PrintGCApplicationStoppedTime.

Wypisze ona każde wystąpienie stop-the-world, mniej więcej w tym stylu:

Total time for which application threads were stopped: 0.4178300 seconds

Nowy JVM i ... koniec problemów?

Page 22: Klucz do wydajności JBoss Przemysław Kuźnicki

Jaki jest cel?

● Jaki jest cel naszej pracy (developer/administrator)?

● Osiągnięcie akceptowalnej funkcjonalności ;-)● Poprawa WYDAJNOŚCI (aplikacji i serwerów)● Poprawa jakości

Page 23: Klucz do wydajności JBoss Przemysław Kuźnicki

Jak osiągnąć cel i znaleźć klucz?

Ciągłe (24/7) zbieranie danych z infrastruktury: serwery i aplikacje

Automatyzacja analiz zebranych danych

Automatyzacja powiadamiania o błędach i problemach

Dbałość o poziom SLA

Optymalizacja: konfiguracji,aplikacji,środowiska...

Page 24: Klucz do wydajności JBoss Przemysław Kuźnicki

Jak osiągnąć cel i znaleźć klucz?

Jeden, by wszystkimi rządzić, Jeden, by wszystkie odnaleźć, Jeden, by wszystkie zgromadzić i w serwerowni osadzić ;-)

Performance Diagnostics Made Easy

Page 25: Klucz do wydajności JBoss Przemysław Kuźnicki

● JB248 - JBoss Application Administration I

● EX248 - Red Hat Certified JBoss Administration (RHCJA) Exam

● JB348 - JBoss Application Administration II

● JB232 - Monitoring with JBoss ON

● JB234 - Systems Management with JBoss ON

Szkolenia i egzaminy.

Page 26: Klucz do wydajności JBoss Przemysław Kuźnicki

Zmiana nazwy...

A new name.

While the name may be new, WildFly is the eigth version of the project previously known as JBoss AS.

Picking up where JBoss AS 7 left off, Wildfly 8 is JBoss' new community project for rapidly driving forward java application server innovation.

Page 27: Klucz do wydajności JBoss Przemysław Kuźnicki

Dziękuję / Pytania?

Przemysław Kuźnicki RHC{E,VA} JBCAAB2B Sp. z o.o.

[email protected]