klucz do wydajności jboss przemysław kuźnicki
TRANSCRIPT
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?
● Jakie problemy wydajnościowe middleware spotykają Państwo najczęściej?
● Respons time● Max requests● Big HEAP● Stop The World● Inne...
W poszukiwaniu klucza...
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...
Którą drogę wybrać?
● Monitoring: tego co nam dostarczono lub sami wyprodukowaliśmy
● Poprawa produkcji oprogramowania
● Zmiana JVM
● A może...
Szczegółowy monitoring wydajności Twojej aplikacji
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.
Application Performance Management
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.
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.
Application Performance ManagementEclipse-based Console: profiling
Application Performance ManagementEclipse-based Console: deep-dive
Application Performance Management Interfejsy
Operational Dashboards: rozszerza możliwości JON o alerty wydajności, śledzenie transakcji, dodatkowe metryki i analizy.
Application Performance ManagementOperational Dashboards: JON
Zmień JVMi pozbądź się problemów
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?
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?
Nowy JVM i ... koniec problemów?
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?
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?
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?
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
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...
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
● 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.
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.