GNU/Linux >> Linux Esercitazione >  >> Linux

Migliora la memorizzazione nella cache del database MySQL

Avvertimento

A causa di problemi con la scalabilità e altri casi d'angolo, la cache delle query MySQL/Mariadb non è più consigliata. Ti consigliamo vivamente di assicurarti che la memorizzazione nella cache sia gestita in un'applicazione livello invece.

Panoramica

Nella maggior parte dei sistemi Linux, l'istanza del database MySQL installata per impostazione predefinita è spesso configurata su un intervallo di parametri sicuro per garantire un funzionamento stabile. Le impostazioni di memorizzazione nella cache delle query in genere non sono abilitate o impostate in modo molto prudente. Come risultato di questo conservatorismo, l'accesso al database utilizza poca memoria di sistema per memorizzare nella cache le query ripetute. Abilitando la cache e regolandola in base alle esigenze dell'applicazione, i miglioramenti possono essere visti visibilmente nella maggior parte delle applicazioni, in particolare nei negozi di eCommerce Magento.

Per i test iniziali, come punto di partenza è stata decisa una dimensione della cache di 32 M. Prima di qualsiasi modifica, i parametri della cache del database si trovano in /etc/my.cnf sono stati configurati come:

query_cache_limit 1M
query_cache_size  0
query_cache_type  ON

Modifica dei parametri

Per apportare modifiche, il file /etc/my.cnf è stato modificato per includere i seguenti parametri e il database è stato riavviato. Dopo le modifiche il database riporta quanto segue:

query_cache_limit 2M
query_cache_size  32M
query_cache_type  ON

Test

Per testare le nostre modifiche, inizialmente abbiamo installato un negozio di eCommerce Magento con il database del prodotto demo predefinito installato. Abbiamo cronometrato il recupero di ogni prodotto usando l'assedio. Aumentando la dimensione della cache sul database sono stati ridotti di ulteriori 200 ms il tempo di risposta del sito. Questa semplice modifica indicherebbe che potrebbe esserci più spazio per migliorare i parametri e il layout del sottosistema del database per ottimizzarlo specificamente per l'uso di Magento, consapevoli del fatto che l'ottimizzazione per Magento può essere un compito difficile nella migliore delle ipotesi!

Trappole!

Il popolare script MySQLTuner (come dettagliato nella nostra guida all'ottimizzazione e all'ottimizzazione delle prestazioni di MySQL) è stato eseguito e ha indicato che la modifica del conteggio dei thread sarebbe stata vantaggiosa, tuttavia questa modifica ha comportato un cali di prestazioni entro 290 ms!

Conclusione

Di default, la configurazione del database MySQL è buona ma potrebbe essere significativamente migliore. L'aumento della cache ha fornito una risposta vantaggiosa immediata. Oltre ai miglioramenti delle prestazioni del database, ci sono anche varie tecnologie di cache come Memecached e Redis che miglioreranno le prestazioni memorizzando nella cache i dati spesso referenziati.


Linux
  1. Domande frequenti sulla distribuzione di MySQL

  2. Connettiti a un database MySQL da remoto

  3. Nozioni di base su utenti e database MySQL

  4. Duplica l'intero database MySQL

  5. migliorare la velocità di importazione mysql

PHP MySQL Seleziona dati

Elenca le tabelle in un database MySQL

Come eseguire il backup del database di WordPress tramite MySQL

Server database MySQL

Come creare un database in MySQL

Panoramica di MySQL