2011-10-10 5 views
1

Pour commencer, je suis relativement nouveau dans le développement web.mysqld redémarre par intermittence sous charge

En cas de charge raisonnable (500-700 Q/s), le serveur redémarre fréquemment (parfois toutes les heures), et je reçois le suivi dans mon syslog chaque fois que cela arrive. Je ne reçois aucune sortie pour mysql.err ou mysql/error.log

Ceci est ma première vraie configuration mysql, donc je suis sûr qu'il y a beaucoup de choses qui pourraient être améliorées, mais je suis surpris que le serveur est en train de descendre si souvent. La machine a 4 Go de RAM. Merci pour toute suggestion ou aide!

Ubuntu 10.04, mysql provient des paquets lucid. Ver 14,14 Distrib 5.1.41, pour debian-linux-gnu (x86_64) en utilisant readline 6,1

Oct 10 01:45:33 host init: mysql main process (1199) terminated with status 1 
Oct 10 01:45:33 host init: mysql main process ended, respawning 
Oct 10 01:45:42 host /etc/mysql/debian-start[1644]: Upgrading MySQL tables if necessary. 
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored 
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: Looking for 'mysql' as: /usr/bin/mysql 
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck 
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: This installation of MySQL is already upgraded to 5.1.41, use --force if you still need to run mysql_upgrade 
Oct 10 01:45:42 host /etc/mysql/debian-start[1656]: Checking for insecure root accounts. 
Oct 10 01:45:43 host /etc/mysql/debian-start[1672]: Triggering myisam-recover for all MyISAM tables 

Voici mon my.cnf:

[client] 
port   = 3306 
socket   = /var/run/mysqld/mysqld.sock 
[mysqld] 

user   = mysql 
socket   = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
skip-external-locking 
bind-address   = host 
back_log = 50 
max_connections = 100 
max_connect_errors = 10 
table_open_cache = 2048 
max_allowed_packet = 16M 
binlog_cache_size = 1M 
max_heap_table_size = 64M 
sort_buffer_size = 8M 
join_buffer_size = 8M 
thread_cache_size = 8 
thread_concurrency = 8 
query_cache_size = 64M 
query_cache_limit = 2M 
ft_min_word_len = 4 
default-storage-engine = innodb 
default-character-set = utf8 
thread_stack = 192K 
transaction_isolation = REPEATABLE-READ 
tmp_table_size = 32M 
log-bin=trent-bin 
binlog_format=mixed 
slow_query_log 
long_query_time = 2 
server-id = 1 
key_buffer_size = 32M 
read_buffer_size = 2M 
read_rnd_buffer_size = 16M 
bulk_insert_buffer_size = 64M 
myisam_sort_buffer_size = 128M 
myisam_max_sort_file_size = 10G 
myisam_repair_threads = 1 
myisam_recover 
innodb_additional_mem_pool_size = 16M 
innodb_buffer_pool_size = 2800M 
innodb_data_file_path = ibdata1:100M:autoextend 
innodb_file_per_table 
innodb_file_io_threads = 4 
innodb_thread_concurrency = 8 
innodb_flush_log_at_trx_commit = 2 
innodb_log_buffer_size = 4M 
innodb_log_file_size = 256M 
innodb_log_files_in_group = 3 
innodb_max_dirty_pages_pct = 90 
innodb_flush_method=O_DIRECT 
innodb_lock_wait_timeout = 50 

ssl-ca=/etc/mysql/cacert.pem 
ssl-cert=/etc/mysql/server-cert.pem 
ssl-key=/etc/mysql/server-key.pem 

[mysqldump] 

quick 

max_allowed_packet = 16M 

[mysql] 
no-auto-rehash 

[myisamchk] 
key_buffer_size = 512M 
sort_buffer_size = 512M 
read_buffer = 8M 
write_buffer = 8M 

[mysqlhotcopy] 
interactive-timeout 

[mysqld_safe] 
open-files-limit = 8192 
+0

Vous pouvez avoir plus de chance avec cette question sur [Erreur de serveur] (http://serverfault.com/). –

+0

Avez-vous regardé 'cat/var/log/syslog | grep mysql'? – methodin

+0

Mise à jour - Les problèmes ont été causés par SSL entre les clients et le serveur. Je suppose que ce serait une chose assez stable si elle est exigeante sur le cpus, mais apparemment pas dans ce cas. Je vais mettre à jour si nous trouvons une solution permanente. Merci pour le pointeur sur Server Fault. – mike

Répondre

0

J'ai vu mysql se comporter de cette façon plusieurs fois , il y a beaucoup de causes possibles ..: à investigatem Je vérifierais

1) sont-il des fonctions personnalisées que vous avez écrit qui peut avoir des fuites de mémoire? J'ai vu une fois une fonction médiane, écrite sur mysql 5, pour redémarrer si elle était exécutée par deux requêtes simultanées ...

2) si vous optimisez les tables, cela réduit-il la fréquence de redémarrage? 3) Y a-t-il des tables corrompues dans la base de données?

Questions connexes