Il processo di certificazione della capacit operativa delle applicazioni web 竪 basato su un metodo analitico che permette di predire il comportamento del sistema in produzione.
Il comportamento dellapplicazione viene misurato durante test eseguiti nellambiente di stress che usano carichi di lavoro progressivamente crescenti. Attraverso landamento dei principali parametri di performance si costruisce un modello lineare che descrive il comportamento del sistema in funzione del carico di lavoro. Tale modello 竪 utilizzato per prevedere le performance del sistema in produzione.
Saranno presentati alcuni esempi concreti, ognuno con necessit e complessit diverse, in cui abbiamo applicato con successo il processo di certificazione. Per ognuno di essi mostreremo le specificit dellanalisi preliminare, gli strumenti software disponibili, gli obiettivi preposti e come questi siano stati raggiunti utilizzando il metodo esposto.
1 of 29
Download to read offline
More Related Content
Javaday Performance 2009
1. Universit degli studi Roma Tre
Sabato 24 Gennaio 2009
Prevedere il comportamento
delle applicazioni Web
in produzione
Serafina Rocca Simone Federici
SPE Engineer APM Specialist
s.rocca@k-tech.it s.federici@k-tech.it
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
2. K-Tech all'universit Roma3
Il ciclo di seminari K-Tech a Roma3 su APM
Il 12 marzo 2009
APM: WWWWW
(What, Why, Where, Who, When)
Una notte in ufficio: ore 08:00 a.m. risolto!
APM: Metodologia e strumenti
Performance (anti)patterns in enterprise architectures
Troubleshooting methodologies in distributed systems
Agile APM, an heretic's approach to SPE
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
3. Obiettiv0
Presentare il metodo di certificazione, basato sulle
discipline SPE/APM e ideato da K-Tech, per
prevedere e controllare le performance dei
sistemi in produzione.
Il metodo pu嘆 essere applicato sia con l'ausilio di
software di monitoraggio e di stress test
commerciali, sia con software open source.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
4. Target e Motivazioni del Talk
Il target:
I Manager delle Operation
Gli Architetti
I Responsabili delle linee di Business (LOB Owner)
Aspiranti Software Performance Engineers
Le motivazioni:
Condividere la nostra esperienza in un contesto di
professionisti e accademici.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
5. Che cosa si intende per performance?
Le possiamo misurare?
Una Ferrari che si spegne a ogni semaforo, ha
buone peformance?
E se l'aspettativa del cliente 竪 il basso consumo di
carburante?
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
6. Ruoli e Strumenti
Analista: studia i pattern di utilizzo del sistema
utilizzando strumenti statistici, file di log, etc.
SPE Engineer: ha la conoscenza di cosa fare
durante la certificazione
APM Specialist: conosce il metodo e gli
strumenti per il monitoraggio
DBA, System Administrator, Architect
Ogni figura ha il proprio set di strumenti
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
7. Architettura
ambiente di produzione
Web Servers AS Frontends AS Backends
Load balancer
Internet
Sistema distribuito
Sistema Complesso
Scalabilit
Alta Affidabilit Databases/Storage/EIS
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
8. Monitoraggio Produzione:
approccio 'System Thinking'
Web Servers AS Frontends AS Backends
Load balancer
Internet
I dati di performance
presi dalle transazioni
Databases/Storage/EIS
degli utenti reali
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
9. Monitoraggio:
Ambiente di Test
Web Servers AS Frontends AS Backends
Load balancer
Cluster di client per I dati di performance
gli stress test presi nella fase di test
Databases/Storage/EIS
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
10. Necessit del cliente
Servizi online con alta visibilit (siti istituzionali..)
Servizi online critici per il business ( e-banking, e-
commerce..)
Servizi interni (email, LDAP, intranet, )
Dimensionamento ottimale delle architetture
Rispetto SLA / Requisiti non funzionali
tempi di risposta medi (On line)
'finestre' temporali (Batch)
99.9999% di affidabilit
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
11. SPE
Cos'竪 il Software Performance Engineering?
Gi dalla fase di disegno del software, si da una forte
importanza alla progettazione, implementazione dei
requisiti non funzionali, o meglio alle performance.
Ci da le basi teoriche e gli strumenti per identificare i
classici problemi architetturali.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
12. Processo APM
Sysadmin
Service
Desk
DBA
Processo
Manager di Sviluppo
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
13. Processo APM
Analisi
In produzione
Configurazione/tuning
Presentazione dei risultati applicazioni di Monitoring
Analisi dei dati Stress Test
in ambiente di test Load Test
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
14. Processo di Certificazione
Cliente
+ Applicazione/i
+ SPE
+ APM
+ Esperienza
+ Metodo
=
Processo di certificazione
Garantire la qualit di una applicazione
prevedendo come si comporter sotto un carico stimato.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
15. Definizione degli obiettivi
Espressi in funzione delle aspettative
Esempio:
Utenti connessi
Processi eseguiti
Tempi di risposta
Ossia tutte le possibili metriche osservabili
dall'utilizzatore del servizio/software
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
16. Analisi del sistema
Cosa?
Dati statistici di accesso all'applicazione
Traffico di rete
Dati provenienti dal monitoraggio dei componenti applicativi
Perch辿?
La distribuzione temporale del
carico sull'applicazione
Funzionalit pi湛 utilizzate
Eventi critici
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
17. Metriche da Monitorare
Tempi di risposta
Invocazioni concorrenti
Invocazioni per secondo
Invocazioni andate a buon fine
Numero di invocazioni nella stessa transazione
Risorse in uso
Latenza di rete
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
18. Fase di test
Progettazione
Identificazione degli use case critici
Creazione dei test case, schedulazioni e script di automazione
Esecuzione
Esecuzione dei test con carichi diversi
Monitoraggio e registrazione dei risultati
Validazione
Stima dell'errore
Ripetibilit dei test
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
19. Identificazione delle KPI
I principali indicatori delle performance sono da
individuare nella fase di stress test che emula
una situazione di traffico potenzialmente
pericolosa per il servizio:
Throughput dei componenti
(Servlet,Web Services,... )
Response Time (EJB, SQL,...)
Risorse Usate (CPU, Memoria, Banda ...)
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
20. Output
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
21. Validazione dei risultati
Gli esiti della certificazione devono essere
compatibili con le osservazioni registrate in
produzione
Devono essere presentati in un documento che
certifica i limiti del sistema, documenta le azioni
fatte e giustifica le conclusioni.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
22. Risultati tipici
Batch
Identificazione dei colli di bottiglia
Determinazione del livello di parallelismo minimo
Online
Determinazione delle risorse minime necessarie
(dimensione del cluster, numero di connessione al DB)
Identificazione dei pattern problematici
Impatto disattenzione Best Practices
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
23. Generazione Mensile della
Fattura Elettronica
Scenario: Contratti da fatturare aumentano di un ordine di grandezza. Hardware maggiorato.
Come assicurare che le performance del batch permettano di rispettare la finestra di tempo a
disposizione?
Stabiliti gli obiettivi di performance KPI: fatture/ora
Punto di partenza: 16 giorni
Monitorati e individuati i colli di bottiglia:
Opencursor su Mainframe, Attivit Query (commits, tempi, invocazioni), Eccessivo Log, ecc..
Aumentato il parallelismo (sino al minimo necessario).
Tempi: 2 settimane (elapsed)
Punto di arrivo: 5 ore
Successo: Previsti con precisione i tempi del batch in produzione.
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
24. National Utility
Web Site
Scenario: Picchi di carico massimo ad opera degli utenti. Sistema instabile, crash sistematici
all'aumentare dele richieste. (vedi pagina seguete)
Hardware potenziato.
Punto di partenza: 10.218 unique browser/h, 124.000 page views/h
Obiettivo: Architettura che permettesse un throughput doppio rispetto al limite attuale.
Individuata una migliore configurazione FE BE per non dare disservizio.
Cambiamento architetturale database e Application Servers.
Aumentata la cache sul FE (cosa registrare e per quanto tempo)
Indicazione sulle modifiche da effettuare sul BE (quali moduli sono problematici)
Tempi: 3 settimane (elapsed)
Punto di arrivo: 7 gennaio, 18.000 unique browser/h e 207.000 page view/h
Successo: registrati 273 Gb di banda giornalieri (record contro i 109 precedenti)
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
25. National Utility
Web Site
Throughput: Situazione Iniziale
P a g in e V i s u a liz z a t e U te n ti
140000
124.000 page views/h 10.000 unique browser/h
12000
120000
10000
100000
8000
80000
6000
1 0 /1 2 /0 7 1 0 /1 2 /0 7
60000
4000
40000
2000
20000
0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
26. National Utility
Web Site
Throughput: Situazione Attuale
(working in progress)
P a g in e V is u a liz z a t e U te n ti
207.000 page views/h 18.000 unique browser/h
250000 18000
16000
200000 14000
12000
150000
10000
0 7 /0 1 /0 9 8000 0 7 /0 1 /0 9
100000
6000
50000 4000
2000
0 0
1 3 5 7 9 11 13 15 17 19 21 23 1 3 5 7 9 11 13 15 17 19 21 23
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
27. Tools
Monitoraggio: Test:
Introscope Wily CA Jmeter
IBM Tivoli Grinder
Mercury Interactive Load Runner
Quest
Veritas
JXInsight
Awstats
Nagios
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
28. Ringraziamenti
Riferimenti
Un ringraziamento speciale a Giuseppe Galli, principale esperto di
performance in tutta EMEA
http://www.k-tech.it
http://www.javaportal.it
http://www.perfeng.com/
http://www.systems-thinking.org/
Connie U. Smith & Lloyd G. Williams (2005), Performance
Solutions: A Practical Guide to Creating Responsive, Scalable
Software (Addison-Wesley Object Technology Series)
Connie U. Smith,(1990) Performance Engineering of Software
Systems, 1st Edition
Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009
29. Simone Federici s.federici@k-tech.it K-Tech
Serafina Rocca s.rocca@k-tech.it K-Tech
Javaday Roma III Edizione 24 gennaio 2009