In precedenza ho scritto un post sul blog su Prestazioni MySQL – Slow Query e innodb_buffer_pool_size . Ho ricevuto molte e-mail in cui le persone volevano saperne di più su tali parametri. Discutiamo di 5 parametri dal file di configurazione che possono aiutare le prestazioni di MySQL.
innodb_buffer_pool_size
Nel pool di buffer i dati sono memorizzati nella cache. Se è di piccole dimensioni, il tuo disco verrà utilizzato di più. Mantieni questo grande per evitare che MySQL vada sul disco ancora e ancora. La dimensione tipica che vedo a casa dei miei clienti va da 6 a 10 GB.
max_connections
Puoi facilmente evitare troppi errori di connessione se mantieni questo valore abbastanza grande. Tuttavia, se lo mantieni troppo grande rispetto a quello che il tuo server può gestire, inizierai di nuovo a vedere problemi di prestazioni. È molto importante mantenerlo sufficientemente grande in modo che possa gestire il tuo carico di lavoro tipico e di conseguenza dovresti aggiungere più risorse. Ho spesso cambiato questo prima e poi adattato le risorse per i miei clienti.
query_cache_size
Tutti sanno che se mantieni la dimensione di questo set molto bassa o alta, la tua performance sarà terribile. Tuttavia, ho visto molte persone ignorare questa impostazione. Di solito inizio a ottimizzare MySQL osservando questa impostazione e mantenendola a 0. Ciò significa che questa impostazione è disabilitata e utilizzo altri metodi per ottimizzare le mie query. Di solito preferisco regolare i miei indici su questo metodo.
innodb_flush_method
Questa impostazione controlla il modo in cui i dati e i registri vengono scaricati dalla memoria sul disco. Di solito lo tengo O_DIRECT per evitare il doppio buffering. Ho riscontrato che il doppio buffering di solito riduce le prestazioni del server.
Le impostazioni che ho menzionato sopra sono relative a MySQL Performance e possono essere modificate dal file di configurazione. Puoi trovare il file di configurazione di MySQL nella posizione qui in Linux:/etc/mysql/my.conf
Tuttavia, prima di modificare le impostazioni in produzione, ti consiglio vivamente di provarle nel tuo sistema di sviluppo. È possibile che la tua esperienza sia diversa dalla mia e che tu abbia bisogno di un valore diverso per il tuo server.
Se ti è piaciuto questo blog, non dimenticare di iscriverti al mio canale YouTube: SQL in sessanta secondi .