Задать вопрос
@comment

Mysql threads объясните поведение, как найти узкое место?

Есть php приложение (lighttpd + php-fpm + mysql). Когда на сайт заходит много пользователей (около 3000), поведение mysql становится следующим (приведу данные mysqladmin status):

Состояние 1. Сначала все работает нормально: Threads: 58 Questions: 462874 Slow queries: 3 Opens: 631 Flush tables: 1 Open tables: 624 Queries per second avg: 1081.481

Состояние 2. По мере нарастания и достижения пиковой нагрузки происходит следующее: Threads: 4 Questions: 737449 Slow queries: 3 Opens: 635 Flush tables: 1 Open tables: 628 Queries per second avg: 1258.445

В "состоянии 2", к mysql невозможно подключится и сайт вываливаться в 500. Он как-будто захлебывается от происходящего и отказывается работать =). После того как пользователей становится меньше, mysql оживает и возвращается к "состоянию 1", начинают создаваться потоки и все работает хорошо.

Почему происходит падения количества потоков и самого mysql в пиковый момент понять не могу. Причем, когда потоков становится мало, все они (все 4) находятся в режиме sleep.

Я понимаю что я не описал всю архитектуру приложения, но на сколько я понимаю узкое место именно mysql или соединение с ним. Mysql настроен адекватно, если же дело в настройке, прошу дать знать куда обратить свое внимание.
  • Вопрос задан
  • 2589 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@comment Автор вопроса
Узким место оказалась сеть. Пользователи забивали канал, и до mysql просто не доходило, поэтому количество потоков падало. Всем спасибо.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
с какой ошибкой то вываливается коннект к мускулу? Таймаут?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы