URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7020
[ Назад ]

Исходное сообщение
"подвисания MySQL на FreeBSD"

Отправлено igorkar , 14-Окт-10 11:31 
Имеется Web-сервер FreeBSD 8.1 x64 16Gb памяти 2x4-Core Xeon
На сервере размещено ~100 сайтов со своими б/д.
Базы данных на MySQL, большая часть баз (активные проекты) на InnoDB, остальные на MyISAM.
В роли Web-сервера выступает связка Nginx+Apache.

Проблема заключается в следующем периодически в MySQL виснут запросы (select/update/insert) (время выполнения может достигать несколько минут). Из-за чего резко увеличивается кол-во mysql thread'ов. Причем эти запросы в "нормальных" условиях выполняются мгновенно (запросы простые: выборка по ключу из одной таблицы или добавление/обновление одной записи).
При этом нагрузка на сервер не увеличивается, ни по процессору ни по дисковой подсистеме, в логах mysql ничего не фиксируется.

Еще наблюдается некая странность - если перезагрузить сервер то примерно 2 дня все работает
идеально, потом начинаются проблемы. если перезагружать отдельно mysql, то такого эффекта нет - так же тормозит.

Если кто может помогите советом, хотя бы в какой стороне искать причины ...

Спасибо.


Содержание

Сообщения в этом обсуждении
"подвисания MySQL на FreeBSD"
Отправлено Valeriy , 14-Окт-10 12:05 
Думаю надо тюнить /etc/sysctl.conf
А также /etc/security/limits.conf


>[оверквотинг удален]
> простые: выборка по ключу из одной таблицы или добавление/обновление одной записи).
> При этом нагрузка на сервер не увеличивается, ни по процессору ни по
> дисковой подсистеме, в логах mysql ничего не фиксируется.
> Еще наблюдается некая странность - если перезагрузить сервер то примерно 2 дня
> все работает
> идеально, потом начинаются проблемы. если перезагружать отдельно mysql, то такого эффекта
> нет - так же тормозит.
> Если кто может помогите советом, хотя бы в какой стороне искать причины
> ...
> Спасибо.


"подвисания MySQL на FreeBSD"
Отправлено igorkar , 14-Окт-10 12:07 
А на что там обратить внимание?
файла limits.conf вообще нет

> Думаю надо тюнить /etc/sysctl.conf
> А также /etc/security/limits.conf


"подвисания MySQL на FreeBSD"
Отправлено igorkar , 14-Окт-10 12:33 
в /etc/sysctl.conf

kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.somaxconn=4096
vm.pmap.shpgperproc=2048
kern.threads.max_threads_per_proc=4096


MySQL при работе обрабатывает примерно 900 запросов в секунду при этом использует примерно 8 тредов. При "затыке" кол-во тредов вырастает до 50~150


"подвисания MySQL на FreeBSD"
Отправлено Golub Mikhail , 14-Окт-10 15:27 
> в /etc/sysctl.conf
> kern.maxfiles=204800
> kern.maxfilesperproc=200000
> kern.ipc.somaxconn=4096
> vm.pmap.shpgperproc=2048
> kern.threads.max_threads_per_proc=4096
> MySQL при работе обрабатывает примерно 900 запросов в секунду при этом использует
> примерно 8 тредов. При "затыке" кол-во тредов вырастает до 50~150

Скачайте tuning-primer.sh (http://www.day32.com/MySQL/) и посмотрите, чего MySQL не хватает.


"подвисания MySQL на FreeBSD"
Отправлено allian , 18-Окт-10 16:11 
mysql какой версии?
У меня похожие проблемы, начались после обновления до 5.1.50.
Только в момент подвиса процессор грузится раза в 4 больше чем обычно и запросы выполняются очень медленно..

"подвисания MySQL на FreeBSD"
Отправлено igorkar , 18-Окт-10 16:15 
> mysql какой версии?
> У меня похожие проблемы, начались после обновления до 5.1.50.
> Только в момент подвиса процессор грузится раза в 4 больше чем обычно
> и запросы выполняются очень медленно..

5.0.90_1 собиралось из исходников