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.
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