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.
1 of 26
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