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

Like this? Share it with your network

Share

Javaday Performance 2009

on

  • 708 views

Talking about the APM during the third edition of the Javaday in Rome

Talking about the APM during the third edition of the Javaday in Rome

Statistics

Views

Total Views
708
Views on SlideShare
705
Embed Views
3

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 3

http://www.linkedin.com 2
https://www.linkedin.com 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 Presentation Transcript

  • 1. Università degli studi Roma Tre Sabato 24 Gennaio 2009Prevedere il comportamento delle applicazioni Web in produzione Serafina Rocca Simone Federici SPE Engineer APM Specialists.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 alluniversità Roma3 Il ciclo di seminari K-Tech a Roma3 su APMIl 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 heretics 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. Obiettiv0Presentare 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 lausilio 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 TalkIl target: ● I Manager delle Operation ● Gli Architetti ● I Responsabili delle linee di Business (LOB Owner) ● Aspiranti Software Performance EngineersLe 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 laspettativa 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 BackendsLoad balancerInternet 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 BackendsLoad balancerInternet 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 balancerCluster di client per I dati di performancegli 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 forteimportanza 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 SysadminServiceDesk 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/tuningPresentazione 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 applicazioneprevedendo 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 obiettiviEspressi in funzione delle aspettativeEsempio:– Utenti connessi– Processi eseguiti– Tempi di risposta–… Ossia tutte le possibili metriche osservabili dallutilizzatore 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 sistemaCosa? –Dati statistici di accesso allapplicazione –Traffico di rete –Dati provenienti dal monitoraggio dei componenti applicativiPerché? –La distribuzione temporale del carico sullapplicazione –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 MonitorareTempi di rispostaInvocazioni concorrentiInvocazioni per secondoInvocazioni andate a buon fineNumero di invocazioni nella stessa transazioneRisorse in usoLatenza 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 testProgettazioneIdentificazione degli use case criticiCreazione dei test case, schedulazioni e script di automazioneEsecuzioneEsecuzione dei test con carichi diversiMonitoraggio e registrazione dei risultatiValidazioneStima dellerroreRipetibilità 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 KPII 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 risultatiGli esiti della certificazione devono esserecompatibili con le osservazioni registrate inproduzioneDevono essere presentati in un documento checertifica i limiti del sistema, documenta le azionifatte 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 tipiciBatchIdentificazione dei colli di bottigliaDeterminazione del livello di parallelismo minimoOnlineDeterminazione delle risorse minime necessarie(dimensione del cluster, numero di connessione al DB)Identificazione dei pattern problematiciImpatto 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 ElettronicaScenario: 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 adisposizione?Stabiliti gli obiettivi di performance KPI: fatture/oraPunto di partenza: 16 giorniMonitorati 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 oreSuccesso: 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 SiteScenario: Picchi di carico massimo ad opera degli utenti. Sistema instabile, crash sistematiciallaumentare dele richieste. (vedi pagina seguete)Hardware potenziato.Punto di partenza: 10.218 unique browser/h, 124.000 page views/hObiettivo: 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) 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 ti140000 124.000 page views/h 10.000 unique browser/h 12000120000 10000100000 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/h250000 18000 16000200000 14000 12000150000 10000 0 7 /0 1 /0 9 8000 0 7 /0 1 /0 9100000 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. ToolsMonitoraggio: 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 RiferimentiUn ringraziamento speciale a Giuseppe Galli, principale esperto diperformance in tutta EMEAhttp://www.k-tech.ithttp://www.javaportal.ithttp://www.perfeng.com/http://www.systems-thinking.org/Connie U. Smith & Lloyd G. Williams (2005), PerformanceSolutions: A Practical Guide to Creating Responsive, ScalableSoftware (Addison-Wesley Object Technology Series)Connie U. Smith,(1990) Performance Engineering of SoftwareSystems, 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