javaday performance 2009

29
Simone Federici [email protected] K-Tech Serafina Rocca [email protected] K-Tech Javaday Roma III Edizione – 24 gennaio 2009 Università degli studi Roma Tre Sabato 24 Gennaio 2009 Serafina Rocca SPE Engineer [email protected] Prevedere il comportamento delle applicazioni Web in produzione Simone Federici APM Specialist [email protected]

Upload: simone-federici

Post on 25-Jan-2015

454 views

Category:

Business


0 download

DESCRIPTION

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 dell’applicazione viene misurato durante test eseguiti nell’ambiente di stress che usano carichi di lavoro progressivamente crescenti. Attraverso l’andamento 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à dell’analisi preliminare, gli strumenti software disponibili, gli obiettivi preposti e come questi siano stati raggiunti utilizzando il metodo esposto.

TRANSCRIPT

Page 1: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Università degli studi Roma TreSabato 24 Gennaio 2009

Serafina RoccaSPE Engineer

[email protected]

Prevedere il comportamento delle applicazioni Web

in produzione

Simone FedericiAPM Specialist

[email protected]

Page 2: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 3: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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.

Page 4: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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.

Page 5: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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?

Page 6: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 7: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Architetturaambiente di produzione

Internet

Load balancer

Web Servers AS Frontends AS Backends

Databases/Storage/EIS

Sistema distribuito

Sistema Complesso

Scalabilità

Alta Affidabilità

Page 8: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Monitoraggio Produzione:approccio 'System Thinking'

Internet

Load balancer

Web Servers AS Frontends AS Backends

Databases/Storage/EIS

I dati di performancepresi dalle transazionidegli utenti reali

Page 9: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Monitoraggio:Ambiente di Test

Cluster di client per gli stress test

Load balancer

Web Servers AS Frontends AS Backends

Databases/Storage/EIS

I dati di performancepresi nella fase di test

Page 10: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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à

Page 11: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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.

Page 12: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Processo APM

Processodi Sviluppo

Sysadmin

DBA

ServiceDesk

Manager

Page 13: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Processo APM

AnalisiIn produzione

Configurazione/tuningapplicazioni di Monitoring

Stress TestLoad Test

Analisi dei dati in ambiente di test

Presentazione dei risultati

Page 14: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Processo di Certificazione

Cliente+ Applicazione/i

+ SPE + APM

+ Esperienza + Metodo

=Processo di certificazione

Garantire la qualità di una applicazioneprevedendo come si comporterà sotto un carico stimato.

Page 15: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 16: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 17: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 18: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Fase di test

Progettazione

Identificazione degli use case criticiCreazione dei test case, schedulazioni e script di automazione

Esecuzione

Esecuzione dei test con carichi diversiMonitoraggio e registrazione dei risultati

Validazione

Stima dell'erroreRipetibilità dei test

Page 19: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 20: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Output

Page 21: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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.

Page 22: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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

Page 23: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

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.

Page 24: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

National UtilityWeb 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/hSuccesso: registrati 273 Gb di banda giornalieri (record contro i 109 precedenti)

Page 25: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

National UtilityWeb Site

Throughput: Situazione Iniziale

0

2 0 0 0 0

4 0 0 0 0

6 0 0 0 0

8 0 0 0 0

1 0 0 0 0 0

1 2 0 0 0 0

1 4 0 0 0 0

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4

P a g i n e V i s u a l i z z a t e

1 0 / 1 2 / 0 7

0

2 0 0 0

4 0 0 0

6 0 0 0

8 0 0 0

1 0 0 0 0

1 2 0 0 0

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4

U t e n t i

1 0 / 1 2 / 0 7

124.000 page views/h 10.000 unique browser/h

Page 26: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

National UtilityWeb Site

Throughput: Situazione Attuale

(working in progress)

0

5 0 0 0 0

1 0 0 0 0 0

1 5 0 0 0 0

2 0 0 0 0 0

2 5 0 0 0 0

1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3

P a g i n e V i s u a l i z z a t e

0 7 / 0 1 / 0 9

0

2 0 0 0

4 0 0 0

6 0 0 0

8 0 0 0

1 0 0 0 0

1 2 0 0 0

1 4 0 0 0

1 6 0 0 0

1 8 0 0 0

1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3

U t e n t i

0 7 / 0 1 / 0 9

207.000 page views/h 18.000 unique browser/h

Page 27: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

Tools

Monitoraggio:

– Introscope Wily CA

– IBM Tivoli

– Mercury Interactive

– Quest

– Veritas

– JXInsight

– Awstats

– Nagios

Test:

– Jmeter

– Grinder

– Load Runner

Page 28: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009

RingraziamentiRiferimenti

Un ringraziamento speciale a Giuseppe Galli, principale esperto di performance in tutta EMEA

http://www.k-tech.ithttp://www.javaportal.ithttp://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

Page 29: Javaday Performance 2009

Simone Federici [email protected] K-TechSerafina Rocca [email protected] K-Tech

Javaday Roma III Edizione – 24 gennaio 2009