Denis Monari Monitoraggio e performance: il ruolo del DBA manager e gli strumenti a supporto Cinisello Balsamo, 26 novembre 2013
AGENDA Performance, servizi e risorse Tre scenari a crescente complessità Scenario semplice Scenario complesso Grid - Cloud
COSA SONO LE PERFORMANCE? Un compromesso tra risorse e qualità dei servizi Risparmiando risorse la qualità dei servizi non si deteriora
SERVIZI E RISORSE: IL PUNTO DI VISTA DEL DATABASE Servizio: applicazione, flusso dati, manipolazione dati, singola procedura o query Risorsa: potenza di calcolo, memoria, capacità disco e sua velocità, network bandwith e sua latenza
QUALITÀ DEL SERVIZIO E BENCHMARKING Definizione di comportamento accettabile di ogni servizio (es: tempi per il report di calcolo del venduto per articolo) Vincolante Verosimile Benchmarking dell infrastruttura Hardware di riferimento realistico Misurazione del consumo delle risorse durante l erogazione dei servizi in uno scenario verosimile (definizione di baseline ) Comportamento in overload (es: più intercettazioni costi, report e utenti contemporaneamente)
Reiterazione OTTIMIZZAZIONE CONTINUA NEL TEMPO
Scenario semplice
SCENARIO SEMPLICE Un server, un database, un applicazione e pochi utenti Le segnalazioni di problemi di performance guidano tutte le attività di tuning Il tuning è una reazione ai problemi di performance rilevati nelle normali attività Strumenti di analisi delle performance: DB Tracing trcsess e tkprof, dbms_monitor e dbms_application_info, Molto potente e chirurgico Traccia su file di testo tutte le operazioni Dettaglio del comportamento di procedure e query Visione limitata al singola esecuzione
Report dettagliato delle performance di ogni metodo applicativo RISULTATI DEL TRACING
COSA ASPETTARSI? Tuning database Ottimizzazione query/procedure Ottimizzazione logica applicativa Razionalizzazione indici, ristrutturazione tabellare, ecc.. Razionalizzazione servizi Identificazione di alcuni potenziali colli di bottiglia: dischi lenti, poca memoria, ecc.. Recuperiamo risorse per.. Nuovi servizi Minore impatto sull infrastruttura
POSSIBILI TRAPPOLE Aggiungere risorse nasconde il problema Aumentare le risorse rimanda il problema Se il problema non sono le risorse, la spesa è inutile Concorrenza, logiche applicative, malfunzionamenti, ecc Ottimizzazione ad hoc Difficilmente replicabile Egoistica: non potrà convivere con altri servizi Delicata: non potrà convivere con altri servizi
Scenario complesso
SCENARIO COMPLESSO Database ed applicazioni convergono in sistema unico Servizi OLAP (datawarehouse) e OLTP (sito web) condividono le stesse risorse La complessità dell infrastruttura non può più essere affrontata solo con il Tracing
DIAGNOSTIC+TUNING Automatic Workload Repository (AWR) Statistiche cumulative sul carico del database Statistiche di utilizzo dei vari oggetti del database Analisi statistica dell impatto di query e procedure su specifiche risorse
RISULTATI AWR Select 0,62 secondi x 14.683 esecuzioni = 2,5 ore Visione globale del database Impatto di singoli statement Impatto per tipologia di risorsa
DISTRIBUZIONE DELLE RISORSE Resource Manager Distribuzione risorse in base a priorità Distribuzione risorse in base a fasce orarie Risorse minime garantite per servizio Priorità 2 33% 33% 33% Limite di utilizzo 10% 25% 25% 50% 25% 25%
COSA ASPETTARSI? Maggiore sinergia tra applicazione e database Nuovi strumenti (partizionamento, cluster tables, result cache, parallelismo, ecc) Razionalizzazione dei servizi Ottimizzazione e consolidamento componenti Interazione ottimizzata tra applicazioni Razionalizzazione delle risorse Distribuzione del carico nelle 24h Qualità minima garantita
POSSIBILI TRAPPOLE Incremento nel numero di servizi Le soluzioni adottate richiedono maggiori risorse Troppi servizi a pari priorità si contendono le risorse Mancato consolidamento dei servizi Vaste fasce orarie scariche Spreco di risorse Interpretazione errata dei dati sul consumo di risorse Network: latenza o application server sovraccarico? Memoria: overload o utilizzo subottimale? Incremento della risorsa sbagliata CPU più potenti o maggiore parallelismo? Aumento di spazio disco ma diminuzione delle meccaniche
Grid e Cloud
GRID - CLOUD Infrastruttura complessa Vari database (anche non Oracle) Varie applicazioni Servizi eterogenei tra applicazioni e database Utenti e client distribuiti geograficamente Alta affidabilità e disaster recovery Oracle RAC Oracle Data Guard
SISTEMA Definizione del sistema Database Quanti? Cluster RAC? Data Guard? Server Quanti? Quanti database per server? Quanti in cluster? Application server Quanti? Quanti AP per server? Cluster?
MONITORAGGIO Enterprise Manager Cloud Control Suite di management dell infrastruttura Configurazione e gestione dei sistemi Analisi e monitoraggio performance Correlazione automatica di problemi localizzati con variazioni globali di performance o errori
CONTROLLO GLOBALE Topologia del sistema Visione globale del sistema Localizzazione di warning ed errori Charts e statistiche trasversali al sistema
CLOUD PERFORMANCE Evoluzione degli strumenti Report di analisi tra componenti eterogenei, per fasce orarie e specifici servizi Ottimizzazioni proattive Metriche e statistiche estese all esterno del database Nodo 1 Nodo 2
COSA ASPETTARSI? Individuazione e previsione di colli di bottiglia Le sinergie tra i componenti del sistema evidenziano le risorse in stato critico e in quali momenti Previsione di tuning e refactoring applicativo Aumento di risorse puntuale Identificare quale risorsa aggiungere, dove ed in che misura Previsione di scalabilità più precisa Previsione di cambio architetturale
POSSIBILI TRAPPOLE Test incompleti Difficoltà di replicare in laboratorio la complessità dei servizi Difficoltà di replicare in laboratorio la complessità dell infrastruttura Difficoltà di replicare migrazioni o espansioni in modo esaustivo e verificarne l efficacia
Reiterazione OTTIMIZZAZIONE CONTINUA NEL TEMPO
Grazie per l attenzione denis.monari@ditechspa.it www.ditechonline.it www.trade-online.it