GNU/Linux >> Linux Esercitazione >  >> Linux

MySQL – Ottimizzazione e ottimizzazione delle prestazioni

Panoramica

MySQL è un sistema di gestione di database relazionali altamente versatile e ad alte prestazioni, utilizzato da molti pacchetti web based come WordPress, Joomla e Magento. Sebbene la configurazione predefinita offra prestazioni ragionevoli, ci sono sempre modi per assicurarti di ottenere la migliore velocità possibile dal tuo database.

In qualità di provider di hosting, ci viene chiesto continuamente un server "più veloce" o più risorse, mentre in molti casi questo non risolve il problema. Una migliore ottimizzazione e ottimizzazione delle prestazioni della tua configurazione esistente dovrebbe sempre essere il primo passo.

Queste istruzioni sono solo per server privati ​​dedicati o virtuali (VPS). Se hai un hosting condiviso e hai bisogno di prestazioni del database migliori, parla con il team di Conetix della migrazione a un VPS.

Istruzioni

Attenzione! Assicurati di aver eseguito il backup del database prima di apportare modifiche.

Uno degli strumenti più semplici per aiutare a diagnosticare i problemi è MySQLTuner. Questo è uno script basato su Perl che analizzerà le prestazioni attuali del tuo servizio di database.

È meglio eseguire questo strumento alcune ore dopo che il database è in uso, non solo dopo il riavvio.

  1. Scarica lo script MySQLTuner:

    wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
  2. Aggiungi i permessi di esecuzione:

    chmod +x mysqltuner.pl
  3. Quindi, esegui lo script: 

    ./mysqltuner.pl

Attenzione! Sebbene MySQLTuner sia ottimo nel darti un'idea iniziale di quali impostazioni modificare, ti preghiamo di comprendere cosa  stai modificando prima di modificare le configurazioni. Alcune modifiche potrebbero comportare un peggioramento delle prestazioni e nel peggiore dei casi, la perdita di dati senza cure e attenzioni adeguate.

Ecco alcuni suggerimenti di base:

  • Guarda la tua allocazione di memoria di InnoDB (innodb_buffer_pool_size) per assicurarti che sia allocata memoria sufficiente a MySQL.
  • Controlla gli avvisi sui join eseguiti senza indici. Questi possono essere molto lenti da eseguire, soprattutto se hai una grande quantità di righe.
  • Controlla la presenza di tabelle frammentate.
  • Utilizza il comando EXPLAIN in MySQL per determinare i problemi di prestazioni con le tue query.

Ci sono molti altri suggerimenti, modifiche e miglioramenti possibili, usa i suggerimenti di MySQLTuner per aiutarti a indirizzarti nella giusta direzione ed esegui alcune ricerche su Google sul problema. Se sei un cliente Conetix, puoi registrare un ticket di supporto ed eseguiremo alcune analisi di base per te in modo completamente gratuito.

Ulteriori letture

  • Ottimizzazione delle prestazioni di InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
  • I 10 migliori consigli sulle prestazioni di Oracle: https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
  • Come indicizzare i join con MySQL:hackmysql.com/case4
  • Spiegazione di MySQL EXPLAIN: http://www.slideshare.net/phpcodemonkey/mysql-explain-explained

Linux
  1. Come configurare LogAnalyzer con Rsyslog e MySQL

  2. Crea un nuovo database e usalo in MySQL/MariaDB

  3. Stato e dipendenze del servizio Solaris?

  4. Crea e modifica utenti in MySQL

  5. Nozioni di base su utenti e database MySQL

13 suggerimenti per l'ottimizzazione e l'ottimizzazione dei database MySQL e Mariadb

Cerca e sostituisci MySQL

Come eseguire il multi-master MySQL con Percona e Keepalived

Installa VMware Tools su Ubuntu e aumenta le prestazioni della VM

Ottimizzazione delle prestazioni di Nginx

Introduzione al monitoraggio e all'ottimizzazione delle prestazioni di Linux