Performance tuning significa letteralmente ‘ottimizzazione delle prestazioni’ e proprio di questo si tratta: misurare, analizzare e ottimizzare le prestazioni di SQL Server, in modo da rendere l’intero sistema più veloce, più sicuro e più stabile.
Come si fa performance tuning?
Di solito, quando si effettua performance tuning in SQL Server, si parte con l’ottimizzazione di query ed indici, che sicuramente sono due aspetti fondamentali da tenere in considerazione. Non sono però gli unici, in quanto un tuning effettuato a regola d’arte va ad analizzare e migliorare anche le prestazioni dell’infrastruttura hardware, le impostazioni di server e database, i file di log e di dati e tutte quelle componenti che fanno parte o supportano l’ambiente SQL Server.
Ogni buona ottimizzazione parte infatti dall’analisi delle performances attuali, che si effettua tramite un Health Check di SQL Server. Parte integrante del processo di tuning è anche il monitoraggio, che consente al DBA di tenere costantemente la situazione sotto stretto controllo, con la possibilità di impostare allarmi e notifiche i caso di problemi o avvisaglie di blocchi ma senza andare ad intaccare le prestazioni dell’infrastruttura.
Cosa ottimizzare in SQL Server
Come si diceva pocanzi, solitamente sono due i principali fronti di intervento nell’ottimizzazione di SQL Server, le query e gli indici. Entrambi sono correggibili in modo abbastanza semplice e consentono di migliorare le prestazioni del sistema nell’immediato. Vediamo come.
- Query: anche se le best practices prevedono un’analisi e verifica preliminare delle query già in fase di progettazione del database, ci capita sovente di trovare query scritte in modo poco efficiente, causando rallentamenti o addirittura blocchi. Effettuando le correzioni necessarie sarà possibile ottenere query più veloci ed efficaci.
- Indici: spesso gli indici vengono aggiunti per migliorare le performances, solo per poi scoprire che queste sono peggiorate in modo preoccupante. Per questo, è importante pensare e progettare con cura gli indici, che se configurati correttamente velocizzano le operazioni anche sensibilmente.
Performance by design
Un aspetto da non sottovalutare è la cosiddetta ‘performance by design’, espressione che sta a significare come l’efficienza di un database server e dei suoi database va, idealmente, pensata e perseguita sin dalla fase di progettazione dell’infrastruttura. Inoltre, va tenuto a mente che anche le capacità dell’hardware vanno necessariamente ad influire sulle prestazioni.
L’importanza dell’installazione di SQL Server
Un aspetto che spesso viene trascurato da chi non si occupa quotidianamente di amministrazione database è l’installazione. In particolare, ci capita spesso di incontrare installazioni di SQL Server che sono state eseguite con le sole impostazioni di default e che presentano quindi problemi di prestazioni in produzione.
Aggiornamenti e manutenzione
Un altro aspetto fondamentale ma spesso in secondo piano è la manutenzione dei database, che comprende anche l’applicazione dei vari aggiornamenti che vengono rilasciati da Microsoft. Occorre infatti aggiornare in modo costante il proprio sistema, non solo per poter usufruire di nuove features ma soprattutto per proteggere dati e infrastruttura da bug e vulnerabilità.
DBA in outsourcing
Un’azienda, anche di medie o grandi dimensioni, spesso non ha al suo interno una figura dedicata esclusivamente alla gestione dei database. Per questo possono tornare estremamente utili le risorse esterne, che interverranno solo per il tempo necessario e senza gravare troppo sull’azienda. In Datamaze ci occupiamo da sempre di SQL Server, con servizi su misura per l’amministrazione e il monitoraggio di database.
Prenota un incontro conoscitivo senza impegno per scoprire come possiamo aiutarti.
di Alice Sella, pubblicato il 21 settembre 2022