際際滷

際際滷Share a Scribd company logo
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
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
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
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
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
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
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
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
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
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
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
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
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
Monitoraggio
   Architettura
   Monitoraggio
    attivo/passivo




                     Giuseppe Galli  g.galli@k-tech.it  K-Tech
                       Javaday IV  Roma  30 gennaio 2010
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
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
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
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
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
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
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
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
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
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
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-tech.it  K-Tech
              Javaday IV  Roma  30 gennaio 2010

More Related Content

Fai la cosa giusta da subito: Troubleshooting Server Side JVM

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Monitoraggio Architettura Monitoraggio attivo/passivo Giuseppe Galli g.galli@k-tech.it K-Tech Javaday IV Roma 30 gennaio 2010
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Q/A Giuseppe Galli g.galli@k-tech.it K-Tech Javaday IV Roma 30 gennaio 2010
  • 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