@ipokos

Как отследить почему падает MySQL too many connections?

Сайт на magento. Периодически падает с ошибкой "too many connections".
В конфиге max_connections 250 (нужно ли увеличить?)
онлайн небольшой, одновременно 500 - 1000

Как можно отследить что ложит базу?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Не падает, а отказывается принимать новые соединения из-за исчерпания указанного в конфиге лимита max_connections.
Есть отдельная страничка в мануале

Для mysql коннекты не такие тяжёлые относительно того же postgresql и max_connections вполне можно увеличивать.
Какие коннекты открыты и откуда можно посмотреть в show processlist
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@barsuksergey
Разработчик.
Ложат базу тяжёлые запросы. В пик нагрузки их отследить можно через show processlist в MySQL или через slow.log php-шный.
Прошерстите таблицы на предмет индексов -- наверняка их не хватает.
Увеличив max_connections, пересчитайте и увеличьте и table_open_cache, чтобы MySQL, открывая коннекты, мог под эти коннекты и временные таблицы создавать.
Может, ещё стоит варианты с кэшированием поискать -- Memcached, Redis.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
4px Москва
от 100 000 до 150 000 руб.
21 авг. 2018, в 11:52
70000 руб./за проект
21 авг. 2018, в 11:28
1000 руб./за проект
21 авг. 2018, в 11:24
40000 руб./за проект