Domanda

Nelle ultime 3 settimane abbiamo riscontrato problemi di bottiglia sul nostro server MySQL. Ho usato Monyog per guardare il processo nel tentativo di capire i problemi. Siamo consapevoli che alcune delle query e i processi che stiamo eseguendo nel nostro codice sono meno che ottimizzati, ma non sono completamente convinto che sia la fonte principale dei nostri problemi. Sento che il nostro server dovrebbe essere in grado di superare questi problemi.

I nostri tavoli sono un mix di innodb e myisam. Non sono affatto un DBA e non faccio finta di esserlo, quindi non sono sicuro di quale sia il motore migliore nel nostro ambiente attuale. Siamo piuttosto letti pesanti, ma mescolano anche molti aggiornamenti e inserti. Stavo vedendo molti tavoli bloccati che mi hanno fatto pensare che innodB potesse essere migliore poiché fa il blocco delle righe invece del blocco del tavolo. Ho convertito alcuni dei nostri tavoli da Myisam a InnoDB per sfruttare alcune delle impostazioni disponibili. Gli sviluppatori stanno utilizzando anche molti join complessi.

Ecco cosa stiamo correndo nel nostro My.Cnf:


[mysqld]
datadir=/var/lib/mysql
port=3306
socket=/var/lib/mysql/mysql.sock
user=mysql

key_buffer_size=512M

innodb_file_per_table
innodb_buffer_pool_size=6GB
#the following line is causing some odd errors when doing db dump
#innodb_log_file_size=128M
innodb_log_buffer_size=8M
innodb_additional_mem_pool_size=32M

max_allowed_packet=16M
join_buffer_size=8M
sort_buffer_size=8M
max_connections=500
wait_timeout=500
skip-name-resolve
thread_cache=256
table_cache=256
tmp_table_size=48M
max_heap_table_size=48M

query_cache_size=64M

#logging of slow queries
log-slow-queries=/var/log/mysql-slow-query.log

# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
#old_passwords=1

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid

Ho cambiato l'attuale "innodb_buffer_pool_size" in 6 GB della scorsa settimana e questo ha apportato un enorme miglioramento al bottiglia. In realtà abbiamo ricominciato a vedere solo i problemi oggi. Il traffico è aumentato questa settimana da quando abbiamo anche le scuole che iniziano e iniziano la stagione calcistica.

Ho tutti i tipi di informazioni statistiche che posso fornirti se necessario. Non sono sicuro di cos'altro fornire in questo momento.

Se non riesco a capirlo, sarò costretto a chiamare un consulente. Spero che qualcuno possa darmi una mano con alcune di queste impostazioni.

Grazie in anticipo.

------------------ MODIFICARE--------------------

Ecco alcune informazioni aggiuntive richieste:

Versione mysql - 5.0.95
Versione del sistema operativo - CentOS 5.6 (si aggiornerà a 6,4 nelle prossime settimane)

Server - Dell PowerEdge R710
CPU - Dual Quad Core 2.8GHz
RAM - 12 GB
Questa è una macchina dedicata. L'unica cosa che corre in questa scatola è mysql

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top