MySQL падает
Re: MySQL падает
max_connections=25
max_user_connections=20
Исходя из тестов - этот параметр нужно подымать как можно выше (или вообще убирать и не ограничивать), так как по его достижении - MySQL блокирует все подключения на некоторое время.
Я думаю ограничение на кол-во подключений от каждого пользователя нужно разрулить через nginx
max_user_connections=20
Исходя из тестов - этот параметр нужно подымать как можно выше (или вообще убирать и не ограничивать), так как по его достижении - MySQL блокирует все подключения на некоторое время.
Я думаю ограничение на кол-во подключений от каждого пользователя нужно разрулить через nginx
Re: MySQL падает
От нагрузки падает mysql или apache или весь сервер?
Re: MySQL падает
Конкретно mysql.
2 варианта для примера.
1. max-connections - 20 = mysql просто заблочит подключения, через 5 секунд вернется в штатный режим.
2. max-connections - 200 = mysql падает.
Все остальное, в это время - работает отлично.
2 варианта для примера.
1. max-connections - 20 = mysql просто заблочит подключения, через 5 секунд вернется в штатный режим.
2. max-connections - 200 = mysql падает.
Все остальное, в это время - работает отлично.
Re: MySQL падает
Если при 200 соединениях mysql с ошибкой "cannot allocate memory for the buffer pool", значит в этот момент на сервере заканчивается свободная оперативная память.
Для того чтобы сервер не пытался съесть больше чем это физически возможно, можно ограничить кол-во запросов параметром max-connections.
На сколько я знаю ISP не изменяет настройки mysql сервера по умолочанию, возможно это в данной сиутации
Для того чтобы сервер не пытался съесть больше чем это физически возможно, можно ограничить кол-во запросов параметром max-connections.
На сколько я знаю ISP не изменяет настройки mysql сервера по умолочанию, возможно это в данной сиутации
Code: Select all
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Re: MySQL падает
Так, же можно вопользоваться советом по уменьшению innodb пула
[mysqld]
innodb_buffer_pool_size = 10M
Re: MySQL падает
Я подозреваю что там nginx не дает погрузнуть sql серверу.
Могу выложить конфиг mysql оттуда.
UPD. Мне всего то нужно сделать так, чтобы один единственный пользователь не смог посредством случайно (или не случайно) зажатого F5 - положить SQL или вывести всем сообщение "No connection to SQL" пускай даже кратковременно.
Могу выложить конфиг mysql оттуда.
UPD. Мне всего то нужно сделать так, чтобы один единственный пользователь не смог посредством случайно (или не случайно) зажатого F5 - положить SQL или вывести всем сообщение "No connection to SQL" пускай даже кратковременно.
Re: MySQL падает
У меня так и есть.skid wrote:Так, же можно вопользоваться советом по уменьшению innodb пула
[mysqld]
innodb_buffer_pool_size = 10M
PS. База в MyISAM
Re: MySQL падает
В таком случае можно ограничить кол-во запросов с одного ip. Добавьте в /etc/nginx/nginx.conf секцию
и перезапустите nginx
Code: Select all
# Limit connections
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 4;
Re: MySQL падает
Не то.
1. 2х секундное зажатие F5 - can't connect to MySQL. Сработал max_connections
2. Закомментировал в my.cnf - max_connections = пришлось жать дольше, секунд 7-10. Упал. http://verbin.pp.ua/screen/Quaded_-_Xsh ... .36.44.png
В процессе этого действа создается уйма "воркеров" httpd. Может быть в этом дело?
UPD.
Попробовал так.
Не помогло.
UPD 2.
Подсунул ему конфиг от MySQL сервера который не падает - не помогло.
1. 2х секундное зажатие F5 - can't connect to MySQL. Сработал max_connections
2. Закомментировал в my.cnf - max_connections = пришлось жать дольше, секунд 7-10. Упал. http://verbin.pp.ua/screen/Quaded_-_Xsh ... .36.44.png
В процессе этого действа создается уйма "воркеров" httpd. Может быть в этом дело?
UPD.
Попробовал так.
Code: Select all
KeepAlive On
MaxKeepAliveRequests 20
KeepAliveTimeout 10
UPD 2.
Подсунул ему конфиг от MySQL сервера который не падает - не помогло.
Re: MySQL падает
Привет снова. Нашел частичное решение данного трабла.
Нужен своп! :)
В файл /etc/fstab добавляем строку

Теперь все это дело уходит в swap и mysql не вешается. Иногда выдает 500ю шибку правда.
Но все же, может есть решения более изящные? Может есть еще у кого то мысли?
Так же есть смежный вопрос, вот пришел посетитель на сайт, зажал тот же F5 и все, пока он не отпустит - сервер будет висеть в обработке его запросов. Каким образом можно это пресечь?
Нужен своп! :)
Code: Select all
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
Code: Select all
/swapfile swap swap defaults 0 0

Теперь все это дело уходит в swap и mysql не вешается. Иногда выдает 500ю шибку правда.
Но все же, может есть решения более изящные? Может есть еще у кого то мысли?
Так же есть смежный вопрос, вот пришел посетитель на сайт, зажал тот же F5 и все, пока он не отпустит - сервер будет висеть в обработке его запросов. Каким образом можно это пресечь?