Fai la cosa giusta da subito:
      Troubleshooting
       Server Side JVM


                     Giuseppe Galli – g.galli...
Relatore
●   Ing. Giuseppe Galli

●   Partner in K-Tech, CTO
●   Esperto in APM da 5 anni
●   Lavora su soluzioni Java nel...
L'azienda: K-Tech s.r.l.
                                                                           Dove il nostro Know Ho...
K-Tech Educational
Nel nostro catalogo Formazione abbiamo corsi su:
●   Performance
●   Analisi
                          ...
Troubleshooting
●   Il Metodo:
      Vantaggi
      Requisiti
●   APM:
      Gestione delle performance applicative
●   IT...
Gestione delle Performance Applicative

Performance applicative = Performance ditta
Ruolo IT :   i dati ← WWW → i processi...
Gestione delle Performance Applicative

         Aumentare                          Diminuire
●   Competitività           ...
Metodo
●   Individua e verifica
●   Caratterizza e priorizza
    (triage)
●   Isola e scopre l'origine
●   Documenta
●   I...
Fase 1: Individua e verifica

●   Individuazione automatica o
    manuale
●   Monitoraggio attivo o
    passivo
●   Verifi...
Fase 2: Triage
●   Caratterizzare il problema
    attraverso i sintomi
●   Triage assegna le priorità ai
    diversi incid...
Fase 3:    Isola e scopre l'origine
●   Lo SME separa gli effetti
    dalle cause originarie
●   Individuare il
    compon...
Fase 4:   Documentazione
●   La documentazione dovrebbe presentare:
    ●   Quando il problema si è presentato
    ●   L'i...
Documentazione

                  Sul mio
                   laptop
                  funziona    L'applicazione è
       ...
Monitoraggio
●   Architettura
●   Monitoraggio
    attivo/passivo




                     Giuseppe Galli – g.galli@k-tech...
Misure nella JVM
●   Metriche                   ●   Strumenti di misura
    ●   Tempi                      ●   Probe:
    ...
Rilevazione
●   Automatica o manuale
●   Soglie di allarme e di pericolo
●   Monitoraggio passivo real-time
●   Log




  ...
Triage
●   Priorità e caratterizzazione
    ●   Assegnazione della priorità
    ●   Analisi delle metriche
    ●   Tecnica...
Triage problemi JVM
Caratterizzazione problemi tipici della JVM:
●   Progressivi: occupazione memoria, blocco
            ...
Documentazione
●   Dati monitoraggio
●   Log con stack trace
●   Core dumps
●   Thread dump
●   Vendor site



           ...
Caso pratico 1
●   Livelock, macchina biprocessore con utilizzo
    costante 50% CPU (1 CPU al 100%)
    ●   Misura: valor...
Caso pratico 2
●   Memory leak
    ●   Misura: allocazione crescente permanent generation
        size, OOM
    ●   Triage...
Conclusioni
●   Gestire correttamente le performance è un
    aspetto vitale per ogni progetto
●   Il metodo è necessario ...
Riferimenti
●   http://www.k-tech.it
●   http://www.javaportal.it
●   http://java.sun.com/javase/reference/index.jsp
●   h...
Ringraziamenti
Un ringraziamento a tutto il personale K-Tech:
                   /.*/@k-tech.it


              e all'orga...
Q/A




Giuseppe Galli – g.galli@k-tech.it – K-Tech
  Javaday IV – Roma – 30 gennaio 2010
Estrazione



Estrazione dei 3 corsi su
 Java Virtual Machine
    Troubleshootig!


            Giuseppe Galli – g.galli@k...
Upcoming SlideShare
Loading in …5
×

Fai la cosa giusta da subito: Troubleshooting Server Side JVM

895 views

Published on

Fare la cosa giusta sin dall'inizio è un prerequisito essenziale per poter arrivare il più velocemente possibile alla risoluzione dei problemi sulla JVM Server Side. Le informazioni raccolte in produzione sono le più importanti, la loro qualità rappresenta una criticità decisiva per tutto il processo di Troubleshooting. Il talk presenta le criticità più comuni per la JVM di un server in produzione ed un metodo efficace per gestirle in modo veloce e vincente. Gli esempi pratici mostreranno come applicare correttamente il metodo e selezionare gli strumenti più adatti in ogni singolo caso.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Fai la cosa giusta da subito: Troubleshooting Server Side JVM

  1. 1. Fai la cosa giusta da subito: Troubleshooting Server Side JVM Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  2. 2. Relatore ● Ing. Giuseppe Galli ● Partner in K-Tech, CTO ● Esperto in APM da 5 anni ● Lavora su soluzioni Java nel dominio enterprise dal 1998 ● In K-Tech da 7 anni g.galli@k-tech.it Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  3. 3. L'azienda: K-Tech s.r.l. Dove il nostro Know How ci ha portato Siamo una società romana che opera a 360° sulla tecnologia Java in ambito Enterprise. Competenze in: ● Application Performance Management ● Software Performance Engineering ● Project Management ● System Administration ● OOAD ● Formazione ● Oracle – IBM – CA|Wily - .. ● Open Source Servizi in EMEA: MCS, CRC, Business Continuity 24X7 – on site < 24h from call Certificati ISO 9001 in “Progettazione ed erogazione di corsi di formazione” Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  4. 4. K-Tech Educational Nel nostro catalogo Formazione abbiamo corsi su: ● Performance ● Analisi Compila il ● Architettura feedback! e potrai subito ● Programmazione aggiudicarti uno dei tre corsi in palio ● Amministrazione su ● JBoss Application Server Java Virtual Machine ● Sviluppo Enterprise Troubleshooting Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  5. 5. Troubleshooting ● Il Metodo: Vantaggi Requisiti ● APM: Gestione delle performance applicative ● ITIL: Incident management (IcM) in ITSM Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  6. 6. Gestione delle Performance Applicative Performance applicative = Performance ditta Ruolo IT : i dati ← WWW → i processi Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  7. 7. Gestione delle Performance Applicative Aumentare Diminuire ● Competitività ● Costi IT ● Time 2 market ● Tempi per riparare ● Affidabilità ● Errori e fermi ● Brand ● Stress Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  8. 8. Metodo ● Individua e verifica ● Caratterizza e priorizza (triage) ● Isola e scopre l'origine ● Documenta ● Invia allo specialista Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  9. 9. Fase 1: Individua e verifica ● Individuazione automatica o manuale ● Monitoraggio attivo o passivo ● Verifica e convalida il problema ed evita i falsi allarmi Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  10. 10. Fase 2: Triage ● Caratterizzare il problema attraverso i sintomi ● Triage assegna le priorità ai diversi incident Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  11. 11. Fase 3: Isola e scopre l'origine ● Lo SME separa gli effetti dalle cause originarie ● Individuare il componente problematico ● Tipicamente: carico, configurazione, codice, back-end Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  12. 12. Fase 4: Documentazione ● La documentazione dovrebbe presentare: ● Quando il problema si è presentato ● L'impatto sul servizio ● I dati rilevati nella verifica e nell'analisi ● La causa principale ed il perché è accaduto ● Fare confronto con valori dello stato normale ● Mostrare oltre ai dati il comportamento dei componenti Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  13. 13. Documentazione Sul mio laptop funziona L'applicazione è stata testata E' colpa della rete Il DB risponde veloce Il cluster va bene Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  14. 14. Monitoraggio ● Architettura ● Monitoraggio attivo/passivo Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  15. 15. Misure nella JVM ● Metriche ● Strumenti di misura ● Tempi ● Probe: ● Uso delle risorse HW java.lang.instrument ● Concorrenza ● JMX: java.lang.management ● Crash ● Errori Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  16. 16. Rilevazione ● Automatica o manuale ● Soglie di allarme e di pericolo ● Monitoraggio passivo real-time ● Log Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  17. 17. Triage ● Priorità e caratterizzazione ● Assegnazione della priorità ● Analisi delle metriche ● Tecnica esclusione Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  18. 18. Triage problemi JVM Caratterizzazione problemi tipici della JVM: ● Progressivi: occupazione memoria, blocco thread ● Costanti: errori o timeout che si ripetono ● Improvvisi: blocco thread, picchi di utilizzo della CPU ● Periodici: rallentamenti, crash Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  19. 19. Documentazione ● Dati monitoraggio ● Log con stack trace ● Core dumps ● Thread dump ● Vendor site Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  20. 20. Caso pratico 1 ● Livelock, macchina biprocessore con utilizzo costante 50% CPU (1 CPU al 100%) ● Misura: valore (50%) e tendenza (fisso da ore) ● Triage: urgente, improvviso e poi costante ● Isolamento: due thread in live-lock ● Documentazione: thread dump successivi, bug parade su sito del vendor Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  21. 21. Caso pratico 2 ● Memory leak ● Misura: allocazione crescente permanent generation size, OOM ● Triage: progressivo e poi restart JVM ● Isolamento: PermGen, -XNoClassGC ● Documentazione: tempi, mem dump, opzioni start jvm Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  22. 22. Conclusioni ● Gestire correttamente le performance è un aspetto vitale per ogni progetto ● Il metodo è necessario oltre gli strumenti ● Necessita del monitoraggio ● Assicura i risultati nel minor tempo possibile esempio: da 1 anno a poche ore Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  23. 23. Riferimenti ● http://www.k-tech.it ● http://www.javaportal.it ● http://java.sun.com/javase/reference/index.jsp ● http://www.perfeng.com/ Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  24. 24. Ringraziamenti Un ringraziamento a tutto il personale K-Tech: /.*/@k-tech.it e all'organizzazione del Javaday Roma Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  25. 25. Q/A Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010
  26. 26. Estrazione Estrazione dei 3 corsi su Java Virtual Machine Troubleshootig! Giuseppe Galli – g.galli@k-tech.it – K-Tech Javaday IV – Roma – 30 gennaio 2010

×