SlideShare uma empresa Scribd logo
1 de 24
Troubleshooting a server
       side JVM: fast problem
           determination




Giuseppe Galli - K-Tech - g.galli@k-tech.it   1
Relatore
•    Ing. Giuseppe Galli

•    Partner in K-Tech, CTO
•    Esperto in APM da 4 anni
•    Lavora su soluzioni Java
       nel dominio enterprise
       dal 1998
•    In K-Tech da 7 anni
     g.galli@k-tech.it
•    Collabora con
     Javaportal.it

    Giuseppe Galli - K-Tech - g.galli@k-tech.it   2
L'azienda: K-Tech s.r.l.
                                                        Dove ci ha portato
                                                       il nostro Know-How

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 - K-Tech - g.galli@k-tech.it                             3
Troubleshooting

• Il Metodo:
   Vantaggi
   Requisiti
• APM:
              gestione delle
               performance
               applicative
• ITIL:
       incident management
       (IcM) in ITSM
Giuseppe Galli - K-Tech - g.galli@k-tech.it      4
Gestione delle
                               Performance Applicative
Performance applicative = Performance ditta
Ruolo IT : i dati ← WWW → i processi




Giuseppe Galli - K-Tech - g.galli@k-tech.it              5
Gestione delle
                               Performance Applicative
        Aumentare                                    Diminuire

●   Competitività                             ●   Costi IT
●   Time 2 market                             ●   Tempi per riparare
●   Affidabilità                              ●   Errori e fermi
●   Brand                                     ●   Stress




Giuseppe Galli - K-Tech - g.galli@k-tech.it                        6
Metodo
• Individua e verifica
• Caratterizza e
   priorizza (triage)
• Isola e scopre
    l'origine
• Documentare
• Invia allo
    specialista

Giuseppe Galli - K-Tech - g.galli@k-tech.it   7
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 - K-Tech - g.galli@k-tech.it          8
Fase 2: Triage
• Caratterizzare il
   problema
   attraverso i
   sintomi
• Triage assegna le
    priorità ai diversi
    incident



Giuseppe Galli - K-Tech - g.galli@k-tech.it     9
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 - K-Tech - g.galli@k-tech.it         10
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 - K-Tech - g.galli@k-tech.it                 11
Documentazione


                                              Sul mio    L'applicazione
                        E' colpa
                                               laptop           è
                       della rete
                                              funziona    stata testata




                                                              Il DB
                           Il cluster                       risponde
                           va bene                           veloce




Giuseppe Galli - K-Tech - g.galli@k-tech.it                               12
Monitoraggio

• Architettura
• Monitoraggio
 attivo/passivo




Giuseppe Galli - K-Tech - g.galli@k-tech.it   13
Misure nella JVM
• Metriche                                    • Strumenti di misura
          – Tempi                                 – Probe:
          – Uso delle risorse                        java.lang.instru
             HW                                      ment
          – Concorrenza                           – JMX:
                                                      java.lang.manag
          – Crash                                     ement
          – Errori



Giuseppe Galli - K-Tech - g.galli@k-tech.it                       14
Rilevazione
• Automatica o
   manuale
• Soglie di allarme e
   di pericolo
• Monitoraggio
   passivo real-time
• Log


Giuseppe Galli - K-Tech - g.galli@k-tech.it   15
Triage
• Priorità e
    caratterizzazione
          – Assegnazione
             della priorità
          – Analisi delle
             metriche
          – Tecnica
             esclusione



Giuseppe Galli - K-Tech - g.galli@k-tech.it   16
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 - K-Tech - g.galli@k-tech.it          17
Documentazione
• Dati monitoraggio
• Log con stack trace
• Core dumps
• Thread dump
• Vendor site




Giuseppe Galli - K-Tech - g.galli@k-tech.it     18
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 - K-Tech - g.galli@k-tech.it                  19
Caso pratico 2

• Memory leak
         – Misura: dimensione memoria permanent crescente,
            OOM
         – Triage: progressivo e poi restart JVM
         – Isolamento: PermGen, -XNoClassGC
         – Documentazione: tempi, mem dump, opzioni start
            jvm




 Giuseppe Galli - K-Tech - g.galli@k-tech.it           20
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




  Giuseppe Galli - K-Tech - g.galli@k-tech.it   21
Riferimenti
●   http://www.k-tech.it
●   http://www.javaportal.it
●   http://java.sun.com/javase/reference/index.jsp
●   http://www.perfeng.com/




Giuseppe Galli - K-Tech - g.galli@k-tech.it      22
Ringraziamenti

Un ringraziamento a
 tutto il personale K-
 Tech:
          /.*/@k-tech.it


 e all'organizzazione
           del
                Jax Italia

Giuseppe Galli - K-Tech - g.galli@k-tech.it     23
Q/A




Giuseppe Galli - K-Tech - g.galli@k-tech.it   24

Mais conteúdo relacionado

Destaque

Arbol de problemas
Arbol de problemasArbol de problemas
Arbol de problemasEmil Moquete
 
Guiòn de la clase
Guiòn de la claseGuiòn de la clase
Guiòn de la clasebrise212510
 
Tecnicas de recoleccion de datos
Tecnicas de recoleccion de datosTecnicas de recoleccion de datos
Tecnicas de recoleccion de datosJeniffer Vega
 
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...Germán Tenorio Vasconcelos
 
Cilip DoPF headline findings 13 July 2010
Cilip DoPF headline findings 13 July 2010Cilip DoPF headline findings 13 July 2010
Cilip DoPF headline findings 13 July 2010Nicola Franklin
 
Miblog juliandavid aguirrevergara
Miblog juliandavid aguirrevergaraMiblog juliandavid aguirrevergara
Miblog juliandavid aguirrevergaraJuLiian AguirRe
 
Mauricio villasenor english
Mauricio villasenor   englishMauricio villasenor   english
Mauricio villasenor englishmaurivillasenor
 
RSM 550 Research Proposal
RSM 550 Research ProposalRSM 550 Research Proposal
RSM 550 Research ProposalAlesha Leonard
 
College Readiness & Career Exploration
College Readiness & Career Exploration College Readiness & Career Exploration
College Readiness & Career Exploration Naviance
 
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017Pery Salgado
 

Destaque (17)

Arbol de problemas
Arbol de problemasArbol de problemas
Arbol de problemas
 
Guiòn de la clase
Guiòn de la claseGuiòn de la clase
Guiòn de la clase
 
Tecnicas de recoleccion de datos
Tecnicas de recoleccion de datosTecnicas de recoleccion de datos
Tecnicas de recoleccion de datos
 
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...
11/09/11 Germán Tenorio Vasconcelos mantiene Sso Vigilancia Sanitaria en Todo...
 
Relato 32
Relato 32Relato 32
Relato 32
 
1 ¿qué-es-el-mal
1 ¿qué-es-el-mal1 ¿qué-es-el-mal
1 ¿qué-es-el-mal
 
Cilip DoPF headline findings 13 July 2010
Cilip DoPF headline findings 13 July 2010Cilip DoPF headline findings 13 July 2010
Cilip DoPF headline findings 13 July 2010
 
Actp10
Actp10Actp10
Actp10
 
Sinceramente
SinceramenteSinceramente
Sinceramente
 
Miblog juliandavid aguirrevergara
Miblog juliandavid aguirrevergaraMiblog juliandavid aguirrevergara
Miblog juliandavid aguirrevergara
 
Mauricio villasenor english
Mauricio villasenor   englishMauricio villasenor   english
Mauricio villasenor english
 
RSM 550 Research Proposal
RSM 550 Research ProposalRSM 550 Research Proposal
RSM 550 Research Proposal
 
College Readiness & Career Exploration
College Readiness & Career Exploration College Readiness & Career Exploration
College Readiness & Career Exploration
 
sistema solar por chicos
sistema solar por chicossistema solar por chicos
sistema solar por chicos
 
Petit fours
Petit foursPetit fours
Petit fours
 
PETIT FOUR
PETIT FOURPETIT FOUR
PETIT FOUR
 
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017
CULTURARTEEN 168 - BARÃO DE INOHAN 135 janeiro 2017
 

Semelhante a Troubleshooting a server side JVM: fast problem determination

APM: WWWWW (What, Why, Where, Who, When)
APM: WWWWW (What, Why, Where, Who, When)APM: WWWWW (What, Why, Where, Who, When)
APM: WWWWW (What, Why, Where, Who, When)K-Tech Formazione
 
Anti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiAnti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiSimone Federici
 
Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Andrea Scavolini
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di QualitàLuca Manara
 
Le nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoLe nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoMaticmind
 
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanWebinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanMiriade Spa
 
Inversion of Control @ CD2008
Inversion of Control @ CD2008Inversion of Control @ CD2008
Inversion of Control @ CD2008Mauro Servienti
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliStefano Leli
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMMatteo Papadopoulos
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009Simone Federici
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009sera79
 
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Simone Onofri
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2Ivan Fioravanti
 
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareUn Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareAlessandro Martellone
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3ivisionweb
 
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...Codemotion
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliLuca Minudel
 

Semelhante a Troubleshooting a server side JVM: fast problem determination (20)

APM: WWWWW (What, Why, Where, Who, When)
APM: WWWWW (What, Why, Where, Who, When)APM: WWWWW (What, Why, Where, Who, When)
APM: WWWWW (What, Why, Where, Who, When)
 
Anti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiAnti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo eviti
 
Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
 
Le nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoLe nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativo
 
Neoload: Performance & Load Test per Applicazioni Web & Mobile
Neoload: Performance & Load Test per Applicazioni Web & MobileNeoload: Performance & Load Test per Applicazioni Web & Mobile
Neoload: Performance & Load Test per Applicazioni Web & Mobile
 
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanWebinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
 
Inversion of Control @ CD2008
Inversion of Control @ CD2008Inversion of Control @ CD2008
Inversion of Control @ CD2008
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie Agili
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009
 
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
 
I punti deboli del sistema ICT dello Studio - Giacomo Barbieri
I punti deboli del sistema ICT dello Studio - Giacomo BarbieriI punti deboli del sistema ICT dello Studio - Giacomo Barbieri
I punti deboli del sistema ICT dello Studio - Giacomo Barbieri
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2
 
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del SoftwareUn Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
Un Approccio Sistematico Ed Organizzato Allo Sviluppo Del Software
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3
 
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 

Mais de K-Tech Formazione

Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiK-Tech Formazione
 
Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)K-Tech Formazione
 
Prevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzionePrevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzioneK-Tech Formazione
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java BaseK-Tech Formazione
 
Corso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignCorso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignK-Tech Formazione
 

Mais de K-Tech Formazione (6)

Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
 
Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)
 
Prevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzionePrevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzione
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java Base
 
Corso GOF Design Pattern
Corso GOF Design PatternCorso GOF Design Pattern
Corso GOF Design Pattern
 
Corso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignCorso Object Oriented Analysis and Design
Corso Object Oriented Analysis and Design
 

Troubleshooting a server side JVM: fast problem determination

  • 1. Troubleshooting a server side JVM: fast problem determination Giuseppe Galli - K-Tech - g.galli@k-tech.it 1
  • 2. Relatore • Ing. Giuseppe Galli • Partner in K-Tech, CTO • Esperto in APM da 4 anni • Lavora su soluzioni Java nel dominio enterprise dal 1998 • In K-Tech da 7 anni g.galli@k-tech.it • Collabora con Javaportal.it Giuseppe Galli - K-Tech - g.galli@k-tech.it 2
  • 3. L'azienda: K-Tech s.r.l. Dove ci ha portato il nostro Know-How 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 - K-Tech - g.galli@k-tech.it 3
  • 4. Troubleshooting • Il Metodo: Vantaggi Requisiti • APM: gestione delle performance applicative • ITIL: incident management (IcM) in ITSM Giuseppe Galli - K-Tech - g.galli@k-tech.it 4
  • 5. Gestione delle Performance Applicative Performance applicative = Performance ditta Ruolo IT : i dati ← WWW → i processi Giuseppe Galli - K-Tech - g.galli@k-tech.it 5
  • 6. Gestione delle Performance Applicative Aumentare Diminuire ● Competitività ● Costi IT ● Time 2 market ● Tempi per riparare ● Affidabilità ● Errori e fermi ● Brand ● Stress Giuseppe Galli - K-Tech - g.galli@k-tech.it 6
  • 7. Metodo • Individua e verifica • Caratterizza e priorizza (triage) • Isola e scopre l'origine • Documentare • Invia allo specialista Giuseppe Galli - K-Tech - g.galli@k-tech.it 7
  • 8. 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 - K-Tech - g.galli@k-tech.it 8
  • 9. Fase 2: Triage • Caratterizzare il problema attraverso i sintomi • Triage assegna le priorità ai diversi incident Giuseppe Galli - K-Tech - g.galli@k-tech.it 9
  • 10. 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 - K-Tech - g.galli@k-tech.it 10
  • 11. 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 - K-Tech - g.galli@k-tech.it 11
  • 12. Documentazione Sul mio L'applicazione E' colpa laptop è della rete funziona stata testata Il DB Il cluster risponde va bene veloce Giuseppe Galli - K-Tech - g.galli@k-tech.it 12
  • 13. Monitoraggio • Architettura • Monitoraggio attivo/passivo Giuseppe Galli - K-Tech - g.galli@k-tech.it 13
  • 14. Misure nella JVM • Metriche • Strumenti di misura – Tempi – Probe: – Uso delle risorse java.lang.instru HW ment – Concorrenza – JMX: java.lang.manag – Crash ement – Errori Giuseppe Galli - K-Tech - g.galli@k-tech.it 14
  • 15. Rilevazione • Automatica o manuale • Soglie di allarme e di pericolo • Monitoraggio passivo real-time • Log Giuseppe Galli - K-Tech - g.galli@k-tech.it 15
  • 16. Triage • Priorità e caratterizzazione – Assegnazione della priorità – Analisi delle metriche – Tecnica esclusione Giuseppe Galli - K-Tech - g.galli@k-tech.it 16
  • 17. 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 - K-Tech - g.galli@k-tech.it 17
  • 18. Documentazione • Dati monitoraggio • Log con stack trace • Core dumps • Thread dump • Vendor site Giuseppe Galli - K-Tech - g.galli@k-tech.it 18
  • 19. 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 - K-Tech - g.galli@k-tech.it 19
  • 20. Caso pratico 2 • Memory leak – Misura: dimensione memoria permanent crescente, OOM – Triage: progressivo e poi restart JVM – Isolamento: PermGen, -XNoClassGC – Documentazione: tempi, mem dump, opzioni start jvm Giuseppe Galli - K-Tech - g.galli@k-tech.it 20
  • 21. 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 Giuseppe Galli - K-Tech - g.galli@k-tech.it 21
  • 22. Riferimenti ● http://www.k-tech.it ● http://www.javaportal.it ● http://java.sun.com/javase/reference/index.jsp ● http://www.perfeng.com/ Giuseppe Galli - K-Tech - g.galli@k-tech.it 22
  • 23. Ringraziamenti Un ringraziamento a tutto il personale K- Tech: /.*/@k-tech.it e all'organizzazione del Jax Italia Giuseppe Galli - K-Tech - g.galli@k-tech.it 23
  • 24. Q/A Giuseppe Galli - K-Tech - g.galli@k-tech.it 24