Klucz do wydajności JBoss Przemysław Kuźnicki RHC{E,VA} JBCAA B2B Sp. z o.o. pk@bel.pl
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?
W poszukiwaniu klucza... Jakie problemy wydajnościowe middleware spotykają Państwo najczęściej? Respons time Max requests Big HEAP Stop The World Inne...
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 Operations Network, 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 Management Eclipse-based Console: profiling
Application Performance Management Eclipse-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 Management Operational Dashboards: JON
Zmień JVM i pozbądź się problemów
Nowy JVM i... koniec 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? Cechy Zing JVM 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
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
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
Szkolenia i egzaminy. 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
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.
Dziękuję / Pytania? Przemysław Kuźnicki RHC{E,VA} JBCAA B2B Sp. z o.o. pk@bel.pl