Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Prova queste best practice per il monitoraggio del database MySQL

Ottenere l'attenzione del management è una buona cosa, se accade per ragioni positive. Ma molti amministratori di database preferirebbero effettivamente stare fuori dai radar. Poiché i DBA hanno il compito di assicurarsi che i database dell'organizzazione siano attivi e funzionanti senza intoppi, quando le cose vanno bene, i DBA generalmente possono rimanere indietro e fare le loro cose in pace. Ma quando qualcosa va storto, improvvisamente sei il nome più importante nell'elenco dei più ricercati dell'azienda.

I DBA hanno molte responsabilità all'interno di un'organizzazione e ci sono molti modi in cui le cose potrebbero andare male, ma seguendo alcune best practice di monitoraggio del database MySQL, puoi essere certo di essere riconosciuto dalla direzione per il tuo ingegno affilato piuttosto che per il database interruzione che ha richiesto tre giorni per risolversi.

Esegui controlli regolari dello stato di salute del tuo database

Per un DBA MySQL, programmare controlli di integrità regolari per i tuoi database è importante quasi quanto programmarli per te stesso (Nota:considera questo il tuo promemoria per fissare un appuntamento per quel fisico che hai rimandato!).

Come le persone, non tutti i database hanno le stesse esigenze di manutenzione, quindi i controlli sanitari dovrebbero essere adattati ai requisiti di funzione specifici del database. Ad esempio, i database mission-critical o vitali richiedono controlli più frequenti rispetto ai database non critici. Il fallimento di un sistema di difesa missilistica ha implicazioni molto più dure del fallimento del programma di premi per i clienti abituali di una libreria locale.

Quando si impostano i controlli di salute di routine, ci sono alcune aree su cui concentrarsi che forniranno informazioni che ti aiuteranno a determinare i problemi MySQL in corso che devono essere affrontati.

Disponibilità MySQL

La disponibilità è probabilmente la metrica più importante di cui tenere traccia. Se il database non è disponibile, non ha molto senso tenere traccia del resto di queste metriche fino a quando non viene risolto. Esegui -mysqladmin -h 192.168.1.95 -u root -p status per verificare la disponibilità, quindi avvia la diagnostica in caso di problemi.

Connessioni fallite

Il monitoraggio del numero di connessioni fallite nel tempo può rilevare attività dannose e errori meno sinistri all'interno dell'applicazione come autorizzazioni applicate in modo errato e password errate.

Eseguire il comando SHOW GLOBAL STATUS LIKE 'aborted_connects'; per determinare quanti tentativi di connessione interrotta ci sono stati sul database per un determinato periodo di tempo.

Registri errori

Il monitoraggio dei log degli errori è un ottimo modo per vedere quali errori si sono verificati e se sono presenti schemi che potrebbero indicare un problema ricorrente più ampio che deve essere risolto.

Deadlock in InnoDB

I deadlock di MySQL si verificano quando transazioni diverse mantengono un blocco su una risorsa di cui l'altra transazione ha bisogno. I deadlock provocano un'elaborazione e un timeout lenti e utenti infastiditi. Usa SHOW ENGINE INNODB STATUS; per individuare i deadlock e risolverli.

Modifiche alla configurazione

Un improvviso calo delle prestazioni potrebbe essere causato da una dozzina di cose diverse. Tuttavia, puoi risparmiare tempo per la risoluzione dei problemi esaminando le modifiche recenti alla configurazione e regolando quelle che influiscono negativamente sulle prestazioni.

Registro query lente

Le query lente rallentano l'esecuzione del database perché utilizzano CPU e memoria eccessive. Esaminare regolarmente il registro delle query lente per determinare se le query mostrano un tempo di esecuzione eccessivo, quindi risolvere i problemi per determinare e correggere la causa principale.

Mantieni la visibilità per comprendere la causa principale dei problemi di prestazioni di MySQL

L'esecuzione di controlli di integrità regolari sui database MySQL è essenziale per mantenere un'elevata disponibilità e ridurre al minimo i problemi cronici di prestazioni, ma ci sono alcune limitazioni all'utilità dei controlli di integrità per la risoluzione dei problemi generale del sistema.

Poiché durante i controlli di integrità di routine potrebbero non verificarsi problemi periodici di prestazioni, è importante stabilire una visibilità continua nel proprio ambiente MySQL. Identificare e risolvere rapidamente i problemi di prestazioni significa meno tempi di inattività e meno problemi di prestazioni che incidono negativamente sugli utenti.

Uno dei modi migliori per mantenere la visibilità sui sistemi di database MySQL è impostare avvisi per eventi critici in modo da poter reagire rapidamente quando viene superata una soglia e arrivare alla causa principale del problema.

Come minimo, dovresti impostare soglie di avviso per le seguenti fonti comuni di degrado delle prestazioni:

  • Deviazioni significative dalle metriche di base delle prestazioni di MySql
  • Utilizzo elevato della CPU
  • Latenza delle query
  • Errori di query
  • Limiti di connessione
  • Utilizzo del pool di buffer

Identifica e risolvi rapidamente i problemi di prestazioni

Potresti riuscire a tenere traccia delle prestazioni utilizzando gli script interni in un piccolo ambiente statico, ma gli script non sostituiranno il monitoraggio proattivo necessario per stare al passo con sistemi grandi e dinamici in costante crescita.

In quasi tutte le situazioni, uno strumento di monitoraggio del database commerciale sarà la soluzione migliore per identificare e risolvere rapidamente i problemi prima che causino problemi gravi.

Esistono molti strumenti di monitoraggio delle prestazioni sul mercato che offrono un'ampia gamma di funzionalità a molti punti di prezzo diversi. Scegliere lo strumento giusto per la tua organizzazione si riduce a quello che soddisfa meglio le tue esigenze specifiche a un prezzo che si adatta al tuo budget.

Sebbene non esista uno strumento valido per tutti, ci sono alcune importanti funzionalità di monitoraggio del database che vorrai cercare in qualsiasi strumento di monitoraggio delle prestazioni tu stia considerando:

  • Scalabilità
  • Monitoraggio mobile
  • Interfaccia utente intuitiva
  • Economico ma ricco di funzionalità
  • Nessun limite di connessione
  • Analisi multidimensionale del carico di lavoro
  • Analisi della causa principale dell'allarme
  • Analisi di blocco
  • Sveglie intelligenti
  • Tracciamento dei dati storici