@natalka
PM

MySQL — как разобраться, почему создаётся куча процессов в статусе Sleep?

Есть сервер c Wordpress, работающий под связкой nginx+php-fpm. База данных MySQL вынесена на отдельный сервер.
Периодически начинаются аномалии:
количество процессов php-fpm резко возрастает,
в три..пять раз увеличивается трафик от сервера MySQL к серверу Wordpress,
в mysql по "show processlist видим кучу процессов в статусе Sleep,
при этом лог длинных запросов пустой.

Причем по show processlist видим каждый раз разные запросы (нет какого-то определённого запроса, с которым всё тормозит), а иногда не видим активных запросов:

+--------+----------------------+--------------------+----------------+---------+------+------------------+------------------+-----------+---------------+
| Id     | User                 | Host               | db             | Command | Time | State            | Info             | Rows_sent | Rows_examined |
+--------+----------------------+--------------------+----------------+---------+------+------------------+------------------+-----------+---------------+
| 323048 | loritex              | 5.200.40.186:41229 | loritex_global | Sleep   |   29 |                  | NULL             |         0 |             0 |
| 323049 | loritex              | 5.200.40.186:41230 | NULL           | Sleep   |   29 |                  | NULL             |         0 |             0 |
| 323285 | loritex              | 5.200.40.186:41673 | loritex_global | Sleep   |   26 |                  | NULL             |         0 |             0 |
| 323286 | loritex              | 5.200.40.186:41674 | NULL           | Sleep   |   26 |                  | NULL             |         0 |             0 |
| 323389 | loritex              | 5.200.40.186:41885 | loritex_global | Sleep   |   25 |                  | NULL             |         0 |             0 |
| 323390 | loritex              | 5.200.40.186:41886 | NULL           | Sleep   |   25 |                  | NULL             |         0 |             0 |
| 323404 | loritex              | 5.200.40.186:41910 | loritex_global | Sleep   |   24 |                  | NULL             |         0 |             0 |
| 323405 | loritex              | 5.200.40.186:41911 | NULL           | Sleep   |   25 |                  | NULL             |         0 |             0 |
| 323421 | loritex              | 5.200.40.186:41946 | loritex_global | Sleep   |   24 |                  | NULL             |         0 |             0 |
| 323422 | loritex              | 5.200.40.186:41947 | NULL           | Sleep   |   25 |                  | NULL             |         0 |             0 |
| 323446 | loritex              | 5.200.40.186:41987 | loritex_global | Sleep   |   24 |                  | NULL             |         0 |             0 |
| 323447 | loritex              | 5.200.40.186:41991 | NULL           | Sleep   |   24 |                  | NULL             |         0 |             0 |
| 323507 | loritex              | 5.200.40.186:42104 | loritex_global | Sleep   |   23 |                  | NULL             |         0 |             0 |

...

| 325351 | loritex              | 5.200.40.186:45589 | loritex_global | Sleep   |    1 |                  | NULL             |         0 |             0 |
| 325352 | loritex              | 5.200.40.186:45590 | NULL           | Sleep   |    1 |                  | NULL             |         0 |             0 |
| 325373 | loritex              | 5.200.40.186:45626 | loritex_f      | Sleep   |    1 |                  | NULL             |         1 |             1 |
| 325374 | loritex              | 5.200.40.186:45628 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325375 | loritex              | 5.200.40.186:45629 | NULL           | Sleep   |    1 |                  | NULL             |         0 |             0 |
| 325393 | loritex              | 5.200.40.186:45666 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325394 | loritex              | 5.200.40.186:45667 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325395 | loritex              | 5.200.40.186:45668 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325396 | loritex              | 5.200.40.186:45670 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325404 | loritex              | 5.200.40.186:45688 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325405 | loritex              | 5.200.40.186:45690 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325410 | loritex              | 5.200.40.186:45699 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325411 | loritex              | 5.200.40.186:45700 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325416 | loritex              | 5.200.40.186:45710 | loritex_global | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325417 | loritex              | 5.200.40.186:45711 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325418 | loritex              | 5.200.40.186:45714 | NULL           | Sleep   |    0 |                  | NULL             |         0 |             0 |
| 325419 | root                 | localhost          | NULL           | Query   |    0 | init             | show processlist |         0 |             0 |
| 325420 | unauthenticated user | 5.200.40.186:45715 | NULL           | Connect | NULL | Reading from net | NULL             |         0 |             0 |
+--------+----------------------+--------------------+----------------+---------+------+------------------+------------------+-----------+---------------+


А в логах mysql видим кучу сообщений вида:
2014-12-09 20:24:09 6947 [Warning] Too many connections
2014-12-09 20:24:09 6947 [Warning] Too many connections
2014-12-09 20:24:10 6947 [Warning] Too many connections

Подскажите пожалуйста что это может быть, с чего начинать разборки?
  • Вопрос задан
  • 8907 просмотров
Пригласить эксперта
Ответы на вопрос 2
@MechanID
Админ хостинг провайдера
количество процессов php-fpm резко возрастает,

в данной ситуации это нормально - они ждут соединения с MySQL но там уже превышенн лимит соединений.

Очень похоже что один из плагинов вордпресса по какимто причинам после выполнения запроса не закрывает соединение с mysql, сам вордпресс по умолчанию не использует постоянное соединение так что нужно смотреть в сторону плагинов и их конфигов.
Ответ написан
Комментировать
@Nc_Soft
Увеличте число коннектов в my.cnf и включите логирование медленных запросов
[mysqld]
max_connections =  300
log-slow-queries=/tmp/slow_queries.log
long_query_time=10
Ответ написан
Ваш ответ на вопрос

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

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