Università degli studi Roma Tre
                          Sabato 24 Gennaio 2009



Prevedere il comportamento
   delle ap...
K-Tech all'università Roma3

           Il ciclo di seminari K-Tech a Roma3 su APM

Il 12 marzo 2009
● APM: WWWWW

     (W...
Obiettiv0

Presentare il metodo di certificazione, basato sulle
 discipline SPE/APM e ideato da K-Tech, per
 prevedere e c...
Target e Motivazioni del Talk

Il target:
 ● I Manager delle Operation
 ● Gli Architetti

 ● I Responsabili delle linee di...
Che cosa si intende per performance?

             Le possiamo misurare?

 Una Ferrari che si spegne a ogni semaforo, ha
 ...
Ruoli e Strumenti

●   Analista: studia i pattern di utilizzo del sistema
    utilizzando strumenti statistici, file di lo...
Architettura
                    ambiente di produzione
                Web Servers      AS Frontends                 AS B...
Monitoraggio Produzione:
                approccio 'System Thinking'
                Web Servers         AS Frontends     ...
Monitoraggio:
                                  Ambiente di Test
                        Web Servers         AS Frontends ...
Necessità del cliente

●   Servizi online con alta visibilità (siti istituzionali..)
●   Servizi online critici per il bus...
SPE

    Cos'è il Software Performance Engineering?


Già dalla fase di disegno del software, si da una forte
importanza a...
Processo APM



                                             Sysadmin
Service
Desk



                                    ...
Processo APM

                                      Analisi
                                      In produzione




      ...
Processo di Certificazione

                       Cliente
                  + Applicazione/i
                       + SPE...
Definizione degli obiettivi

Espressi in funzione delle aspettative
Esempio:
–   Utenti connessi
–   Processi eseguiti
–  ...
Analisi del sistema

Cosa?
   –Dati   statistici di accesso all'applicazione
   –Traffico   di rete
   –Dati   provenienti...
Metriche da Monitorare

Tempi di risposta
Invocazioni concorrenti
Invocazioni per secondo
Invocazioni andate a buon fine
N...
Fase di test

Progettazione
Identificazione degli use case critici
Creazione dei test case, schedulazioni e script di auto...
Identificazione delle KPI

I principali indicatori delle performance sono da
  individuare nella fase di stress test che e...
Output




 Simone Federici   s.federici@k-tech.it    K-Tech
  Serafina Rocca     s.rocca@k-tech.it     K-Tech
        Jav...
Validazione dei risultati


Gli esiti della certificazione devono essere
compatibili con le osservazioni registrate in
pro...
Risultati tipici

Batch
Identificazione dei colli di bottiglia
Determinazione del livello di parallelismo minimo
Online
De...
Generazione Mensile della
                              Fattura Elettronica
Scenario: Contratti da fatturare aumentano di ...
National Utility
                                       Web Site
Scenario: Picchi di carico massimo ad opera degli utenti....
National Utility
                                                                                                         ...
National Utility
                                                                                    Web Site

           ...
Tools

Monitoraggio:                     Test:
     –   Introscope Wily CA               –   Jmeter
     –   IBM Tivoli   ...
Ringraziamenti
                            Riferimenti
Un ringraziamento speciale a Giuseppe Galli, principale esperto di
...
Simone Federici   s.federici@k-tech.it    K-Tech
 Serafina Rocca     s.rocca@k-tech.it     K-Tech
       Javaday Roma III ...
Upcoming SlideShare
Loading in …5
×

Javaday Performance 2009

607 views

Published on

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.

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
607
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Javaday Performance 2009

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

×