На сервере имеется слабое звено - это mysql, который регулярно является причиной таких незатейливых сообщений как
mysql server has gone away - для phpmyadmin,
error establishing a database connection - wp,
Query execution was interrupted - pdo. Mysql демон словно неженка, которого нельзя сильно нагружать.
В результате моей "тонкой" настройки появился вот такой вот "толстый" конфиг:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
skip-host-cache
skip-name-resolve
port = 3306
socket = /tmp/mysql.sock
key_buffer_size = 64M
max_allowed_packet = 512M
table_open_cache = 512
sort_buffer_size = 64M
read_buffer_size = 64M
read_rnd_buffer_size = 64M
net_buffer_length = 64M
thread_stack = 64M
thread_cache_size = 64
query_cache_size = 64M
default-storage-engine=myisam
tmp_table_size=64M
max_heap_table_size=64M
low-priority-updates
wait_timeout=360
interactive_timeout=360
max-connections = 100
myisam_sort_buffer_size = 64M
character-set-server = utf8
collation-server = utf8_general_ci
bulk_insert_buffer_size = 64M
server-id = 1
[mysqldump]
quick
max_allowed_packet = 512M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 64M
sort_buffer_size = 64M
[mysqlhotcopy]
interactive-timeout
Сервер не мощный, но ресурсов хватало всегда. Примерно такая картина в top
Mem: 527M Active, 1024M Inact, 241M Free
Сам mysqld падал очень редко, не чаще чем 1 раз в пол года.
Как превратить мой mysql server в локомотив, который будет исправно пахать на всю катушку?