MySQL è un sistema di gestione di database relazionale open-source basato su Structured Query Language (SQL). MySQL è usato dai team di sviluppo in un’ampia varietà di casi d’uso, più comunemente in data warehousing, e-commerce e applicazioni di registrazione. Tuttavia, il suo impiego più popolare è nei database web, poiché è altamente flessibile, affidabile e scalabile. Può essere usato per memorizzare qualsiasi cosa, da singoli record di informazioni a interi inventari di prodotti.

DNS-DPM-Banner-Horizontal_728x90

SQL Server, d’altra parte, è un sistema commerciale di gestione di database relazionali sviluppato da Microsoft. Come MySQL, SQL Server supporta molte piattaforme tra cui Linux, Microsoft Windows e sistemi server Windows. Più comunemente, SQL Server è usato dagli sviluppatori per applicazioni .Net e progetti Windows. Come prodotto commerciale, SQL Server ha una comunità di supporto più ampia.

In questa guida, andrò oltre alcune metriche per aiutare i vostri sforzi di ottimizzazione delle prestazioni. Discuterò anche alcuni dei migliori strumenti SQL Server e MySQL sul mercato, compresa la soluzione che raccomando maggiormente – SolarWinds® Database Performance Analyzer – grazie alle sue robuste caratteristiche di monitoraggio e analisi, diverse da qualsiasi altro strumento sul mercato.

Prestazioni di MySQL

Monitoraggio delle prestazioni di SQL e MySQL Best Practices
I migliori strumenti di ottimizzazione delle prestazioni di MySQL e SQL Server
Il monitoraggio del database è un must. Fallo bene, fallo costantemente e profitta

Monitoraggio delle prestazioni di SQL e MySQL Best Practices

L’aspetto più importante del monitoraggio delle prestazioni SQL è prendere decisioni ponderate su quali metriche e avvisi è necessario monitorare. Anche se questo dipenderà in parte dalla tua organizzazione e dal tuo settore, è generalmente una buona idea monitorare i seguenti processi:

  • Processi richiesti in esecuzione
  • Punti di errore comuni
  • Utilizzo delle risorse
  • Esecuzioni di query (fallimenti e completamenti)

Oltre a monitorare questi processi, vuoi anche monitorare metriche specifiche relative alla salute della tua vista MySQL. Le seguenti sono un buon punto di partenza:

  • Uptime: Il secondo impiegato da un server per rispondere a una richiesta.
  • Threads connessi: Il numero di client attualmente connessi al server. Se nessuno è connesso o troppi lo sono, questo potrebbe essere un segno di problemi.
  • Max connessioni usate: Il numero di connessioni effettuate dall’avvio del server.
  • Connessioni abortite: Il numero di tentativi di connessione falliti. Troppi potrebbero essere un segno di attività sospetta.

I team di sviluppo dovrebbero anche essere sicuri di monitorare le metriche delle query SQL per assicurarsi che il database stia svolgendo i suoi compiti di base. Alcuni esempi sono:

  • Domande: Il numero di istruzioni inviate dai clienti.
  • Domande: Il numero di istruzioni eseguite, incluse le stored procedure.
  • Richieste di lettura e scrittura: Ciò che permette agli utenti e agli sviluppatori di accedere alla stessa pagina in tempo reale.

Altre metriche importanti da raccogliere per effettuare il tuning delle prestazioni di SQL Server o MySQL includono i tipici errori SQL. Questi sono i punti di guasto frequenti che dovresti sempre tenere d’occhio:

  • Errori: Controllare sempre che non ci siano errori nel file mysql.log.
  • Dimensione dei file di log: Ispezionare i flussi di log per vedere se tutti i file vengono ruotati correttamente. In caso contrario, il server potrebbe avere un collo di bottiglia.
  • File di log cancellati: Assicuratevi che il descrittore di file sia chiuso dopo che qualsiasi file di log è stato cancellato.
  • Spazio di backup: Assicuratevi sempre di avere abbastanza spazio su disco per i backup.

I migliori strumenti di ottimizzazione delle prestazioni di MySQL e SQL Server

Tentare di catturare le metriche di cui sopra è difficile senza gli strumenti giusti. I seguenti programmi sono alcuni dei migliori strumenti per il monitoraggio in tempo reale dei database SQL, sia che usiate MySQL, SQL Server o un altro database relazionale.

  1. SolarWinds Database Performance Analyzer per MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) offre uno strumento completo di monitoraggio e analisi delle prestazioni dei database. È una soluzione eccellente per amministratori di database, team IT e sviluppatori di applicazioni. Supporta il monitoraggio in tempo reale e analizza le istanze del database SQL per mitigare i colli di bottiglia, migliorare i servizi e risparmiare sui costi. È possibile confrontare facilmente le metriche delle prestazioni di MySQL vs. SQL Server se si utilizzano entrambi i tipi di database.

Questa soluzione multipiattaforma per il monitoraggio delle prestazioni dei database funziona sia su database cloud che on-premises, rendendola una scelta ideale per una serie di organizzazioni diverse. Ha tonnellate di caratteristiche utili, come il rilevamento delle anomalie basato sull’apprendimento automatico e l’analisi approfondita dei tempi di attesa. Queste caratteristiche permettono agli amministratori IT di migliorare il loro tempo medio di risoluzione e di affrontare i problemi di prestazioni del database con maggiore velocità.

Una delle sue migliori caratteristiche è che offre ai team IT sia dati storici che in tempo reale delle loro prestazioni MySQL, tracciando il tempo di risposta e le statistiche del server nel repository del data warehouse (che può essere configurato direttamente sul vostro database MySQL). Queste informazioni permettono ai DBA di affrontare i problemi critici con una migliore comprensione della loro infrastruttura server.

Inoltre, SolarWinds DPA è incredibilmente facile da usare. È possibile impostare avvisi personalizzati, creare metriche personalizzate e persino programmare rapporti grafici sulle prestazioni e farli recapitare via e-mail al team IT interessato. Per vedere se DPA è la soluzione migliore per le tue esigenze di monitoraggio di MySQL, puoi scaricare lo strumento completamente funzionale senza rischi per 14 giorni.

PROS:

  • Supporta un’ampia varietà di database, sia cloud che on-premises.
  • È facile da usare ma flessibile, permettendo avvisi personalizzati, metriche e altro.
  • Idera Diagnostic Manager
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic Manager offre ai team IT il monitoraggio delle prestazioni dei database SQL in ambienti fisici e virtuali. Tiene traccia delle statistiche di performance e delle metriche chiave e può essere configurato per inviare avvisi per aiutare i DBA a gestire meglio le loro VM e i loro database. Consente inoltre ai team IT di eseguire il monitoraggio proattivo delle query insieme al monitoraggio transazionale SQL, fornendo al contempo raccomandazioni per il vostro DBMS SQL.

Con Idera, è possibile ottenere informazioni non solo su disponibilità e salute, ma anche su vulnerabilità di sicurezza e impostazioni di configurazione. Utilizzate semplici grafici visivi per una visibilità a colpo d’occhio: analizzate facilmente metriche come lo spazio su disco o ottenete una panoramica dei server con avvisi e allarmi attuali. Nel complesso, questo è uno strumento utile e flessibile per il monitoraggio dei database SQL.

PROS:

  • Idera permette il monitoraggio proattivo delle query e fornisce raccomandazioni.
  • Fornisce approfondimenti sulle vulnerabilità di sicurezza, i problemi di configurazione, la disponibilità del database e la salute.
  • I grafici semplici permettono una rapida visualizzazione delle principali metriche e degli avvisi del server.
  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) è una soluzione di monitoraggio SaaS, il che significa che non è necessario acquistare o mantenere un’applicazione tradizionale, il che riduce notevolmente l’attrito di iniziare con essa.

Lo strumento può monitorare i database a livello locale, nel cloud e ibrido, e si concentra sui database open-source e NoSQL, che include non solo MySQL ma anche PostgreSQL e Redis. DPM offre un monitoraggio 24/7 in tempo reale per tenere traccia di una pletora di metriche, per poi visualizzarle utilizzando una dashboard user-friendly ma potente. Alcune delle metriche supportate sono:

  • MTTD
  • MTTR
  • Frequenza di deploy
  • Disponibilità
  • Riduzione dei deploy falliti

DPM prende sul serio la sicurezza, essendo pienamente conforme sia al SOC2 che al GDPR.

PROS:

  • Soluzione basata su cloud, il che significa meno attrito per iniziare e utilizzare.
  • Monitoraggio in tempo reale 24 ore su 24, 7 giorni su 7 su un numero enorme di metriche.
  • Dashboard flessibile ma facile da usare.
  1. SQL Power Tools

SQL Power Tools

Un’altra buona opzione per i DBA è SQL Power Tools. Pubblicizzata come una soluzione a “impatto zero”, questa soluzione di monitoraggio di database agentless fornisce ai team IT l’accesso a oltre 120 diverse metriche della loro infrastruttura server, dai tempi di attesa e di blocco all’utilizzo dello spazio su disco e alla frammentazione degli indici. È possibile visualizzare le tendenze di 30 giorni o impostare avvisi per una consapevolezza immediata. È un leggero affidabile con poco overhead, ma le organizzazioni più grandi possono lottare per scalarlo per adattarlo alle loro esigenze.

PROS:

  • “Soluzione a impatto zero” con basso attrito.
  • Grande numero di metriche per monitorare l’intera infrastruttura server.
  • Strumento leggero e affidabile adatto a scenari più semplici.
  1. Percona Monitoring and Management Tool

percona-pmm-postgres-working-Postgres_exporter

Il Percona Monitoring and Management Tool è una soluzione gratuita e open-source che gli amministratori possono usare per monitorare e gestire i loro database MySQL. Percona può essere completamente adottato nel vostro sistema IT esistente, il che significa che gli amministratori possono essere sicuri che la soluzione è eseguita in un ambiente sicuro e affidabile. Inoltre, Percona può mappare le query rispetto alle metriche, il che permette agli amministratori di sistema di prendere decisioni migliori per ottimizzare le prestazioni di MySQL.

Come opzione open-source, il supporto può essere limitato, e i team IT perderanno alcune delle funzioni più avanzate che si aspettano di vedere in una soluzione di livello enterprise. Ma tutto sommato, è un’opzione affidabile per molte organizzazioni.

PROS:

  • Maps query contro metriche, permettendo agli amministratori di prendere in considerazione le query quando ottimizzano le prestazioni di MySQL.
  • Soluzione affidabile e leggera adatta a scenari più semplici.

  1. AppDynamics

appdynamics-mysql

Questo strumento MySQL di livello enterprise ha tonnellate di caratteristiche complete che lo rendono una soluzione eccellente per molte grandi aziende. Per esempio, offre ai team IT approfondimenti in tempo reale sulle prestazioni del database MySQL e sulle metriche di salute, in modo da poter identificare e risolvere i problemi con efficienza. Inoltre, AppDynamics permette ai team IT di impostare le metriche di base per quelli che ritengono essere standard di prestazioni sani per i loro ambienti MySQL. Lo strumento raccoglierà e visualizzerà le metriche appena generate rispetto a dette linee di base, così gli amministratori possono monitorare i loro sistemi con una migliore comprensione di ciò che è un comportamento sano.

L’unico problema con AppDynamics è che la soluzione è disponibile in un piano lite e un piano pro. Mentre il piano lite è gratuito da usare, offre funzioni limitate e la sua conservazione dei dati è quasi inesistente. Il piano pro è migliore, ma costoso.

PROS:

  • Offre approfondimenti in tempo reale sulle prestazioni di MySQL e sulle metriche di salute.
  • Consente agli utenti di definire linee di base per prestazioni sane, e poi basare le nuove metriche su queste linee di base.

Il monitoraggio del database è un must. Fallo bene, fallo costantemente e guadagna

I database sono centrali per qualsiasi sforzo tecnologico. Eppure, alcune aziende, nonostante dedichino molte risorse ai loro database, non sembrano preoccuparsi di monitorarli. Questo è sconcertante in quanto è simile a non voler conoscere il ritorno di un investimento particolarmente costoso.

Quando si tratta di database relazionali, Microsoft SQL Server e MySQL sono due delle scelte più popolari. Mentre il primo è un’offerta aziendale, sviluppata da una gigantesca società, il secondo è uno strumento libero e open-source, nonostante sia disponibile anche sotto licenze commerciali. Essendo due database relazionali largamente conosciuti, c’è un’enorme offerta di soluzioni per il monitoraggio di database rivolte a MySQL e SQL Server.

Prestazioni di MySQL

Anche se tutti gli strumenti che abbiamo trattato hanno i loro meriti, la mia scelta migliore è SolarWinds Database Performance Analyzer. Come ho menzionato prima, DPA offre funzioni di monitoraggio e analisi senza precedenti.

Una menzione d’onore va all’altro strumento di SolarWinds, Database Performance Monitor. DPM è una soluzione basata sul cloud, senza download, manutenzione o provisioning richiesto. Gli aggiornamenti sono fatti automaticamente. E poiché DPM è una soluzione SaaS che si rivolge specificamente ai database open-source, è una scelta solida per il monitoraggio di MySQL.

A questo punto dovresti essere pronto a prendere una decisione consapevole sullo strumento giusto per le tue esigenze di monitoraggio di MySQL o SQL Server.

Si