Javaday Performance 2009
Upcoming SlideShare
Loading in...5
×
 

Javaday Performance 2009

on

  • 626 views

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

Statistics

Views

Total Views
626
Views on SlideShare
622
Embed Views
4

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 4

http://www.linkedin.com 3
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Javaday Performance 2009 Javaday Performance 2009 Presentation Transcript

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