• Home
  • Azienda
    • Progetti
    • Certificazioni
    • Lavora con noi
    • Chi Siamo
  • Consulenza
  • Formazione
  • Lavora con noi
  • Blog
  • Contatti
  • Webmail
  • Home
  • Azienda
    • Progetti
    • Certificazioni
    • Lavora con noi
    • Chi Siamo
  • Consulenza
  • Formazione
  • Lavora con noi
  • Blog
  • Contatti
  • Webmail
Database

Il database è lento

by admin in Database, Infrastruttura

Il database è lento.

Penso che chiunque lavori nell’IT, almeno una volta nella vita abbia sentito pronunciare queste parole. Se poi come mestiere fa il DBA allora gli srelational-databasesarà capitato molto ma molto spesso. Ogni volta che le sento penso, il database non può andare lento, non si muove, casomai sarà qualche processo/flusso che risponde lentamente, ma di sicuro non il database che va lento. Altrettanto spesso chi pronuncia quelle parole crede che ci sia un parametro FAST=TRUE con il quale risolvere tutti i problemi. Ovviamente quel parametro, per fortuna, non esiste altrimenti lo metterebbe direttamente a TRUE senza chiedere e non esisterebbero i DBA. Detto questo però, rimane il problema vero o percepito che sia, del quale sappiamo poco o niente e ci viene dato pochissimo tempo per risolvere. In fondo per mettere un parametro a TRUE quanto tempo ci volete mettere? Che fare a questo punto?

C’è un’equazione che riassume tutto il lavoro di un database, con la quale si può avere un’idea di massima delle sue performance e che a me è stata sempre utile ad inquadrare i problemi. Quell’equazione è:

ResponseTime = ServiceTime + WaitTime

Il lavoro di un database può essere misurato come la somma dei tempi di risposta di tutti gli statement (select, insert, create etc…) in un dato periodo di tempo. Il numero che si ricava è il ResponseTime che è uguale alla somma dei tempi di servizio (ServiceTime), ovvero il tempo in cui quello statement e’ eseguito in CPU e dei tempi di attesa (WaitTime), cioè il tempo che quello statement ha atteso una specifica risorsa.

Dunque, se il ResponseTime è simile al periodo di tempo preso in esame, ci potrebbe essere un pricon23Databaseoblema di capacità di calcolo. Se è molto piccolo il database o non fa nulla oppure ha attese elevate per qualche causa specifica. Se la percentuale di WaitTime è molto più alta di quella del ServiceTime, c’è un problema di risorse. Se invece il ServiceTime è piu alto del WaitTime e il ResponseTime è minore del periodo di tempo preso in analisi, il database va bene e se c’è un problema è molto specifico o relativo ad una frazione di tempo inferiore a quella presa in esame. Di solito si usano tempi di raccolta dei dati di circa un’ora, ma mi sono capitati casi in cui sono dovuto scendere fino a 5 minuti per trovare il problema. Si potrebbe continuare con esempi all’infinito, ma va oltre lo scopo di questa discussione. Basta mettere la formula su google per trovare infiniti documenti, quando lo farete valutate sempre bene chi scrive, non tutti dovrebbero poterlo fare, metalink e ask tom sono ottimi punti di partenza.

Oracle fornisce questi dati negli AWR report e li riassume all’inizio nei : Top 5 Wait Events

Capire il significato di questi tre numeri, come confrontarli tra loro oppure paragonarli a quelli collezionati con altri database può essere una base solida da cui far partire un’analisi per il tuning del database. Con il passare del tempo con l’esperienza diranno sempre di più e semplificheranno parecchio la vita laddove in qualche progetto dove sarete appena arrivati, senza alcuna informazione, dovrete dare una qualche risposta al cliente. Ricordate però che è solo un punto di partenza. Fare il tuning di un database è difficile richiede tempo e tanta tantissima esperienza. Per il momento si può cominciare da qui.

Autore: Stefano Compieta

adminPost author

Fai clic qui per annullare la risposta.

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

XHTML: You can use these tags <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Eventi

aprile

Non ci sono eventi

maggio

Non ci sono eventi

giugno

Non ci sono eventi

luglio

Non ci sono eventi

Tutti i corsi

Sistemistica

a-4Junior Level Linux Professional
a-4Advanced Level Linux Professional

Programmazione

a-4Corso IOS
a-4Corso Android

Database

a-4OCA Oracle Certified Associate

Sicurezza

a-4Hardening

Converger

Soluzioni di eccellenza a supporto delle imprese.
Via degli Alberini 33a, Roma
Tel. (+39) 06 .93575981-2
E-mail: info@converger

Politica per la qualità

Link Utili

  • Lavora con noi
  • Time Sheet
  • Progetti
  • Certificazioni

Articoli recenti

  • Un software per la vita: OCG

  • 13 Mar. 2017 Consolidamento di Database

  • 04 Mar. 2015 Un database per archiviare le Trap

Linkedin Network

Converger Srl - P.IVA 09882161004

Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento e utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la Cookie Policy. Chiudendo questo banner, scorrendo questa pagina o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie. Accetta