» » Как определить количество соединений в MySQL

Как определить количество соединений в MySQL

26 март 2018, Понедельник
158
0
+ 0 -
При работе с сервером баз данных один из важных параметров который необходимо понимать, это количество активных соединений (connection) c сервером. Тут есть 3 сущности которые надо понимать:
1. Текущее количество соединений - говорит, о том на сколько сейчас используется сервер
2. Максимальное количество использованных соединений - говорит, о том каково было максимальное количество соединений
3. Максимально разрешенное количество соединений - тот порог в количестве соединений, после которого новые запросы будут отклоняться.
Рассмотрим как можно определить каждое из них. Запустив в командном режиме скрипт:
show status like '%_conn%';
Мы получим:
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 0     |
| Max_used_connections     | 29    |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 21    |
+--------------------------+-------+
6 rows in set (0.00 sec)

где,
Max_used_connections - максимальное количество использованных соединений
Threads_connected - текущее количество соединений

Если же мы выполним скрипт:
show processlist;

То можем получить список этих соединений и их состояние, это будет выглядеть примерно так:
+-------+---------+-----------+--------+---------+-------+-------+------------------+----------+
| Id    | User    | Host      | db     | Command | Time  | State | Info             | Progress |
+-------+---------+-----------+--------+---------+-------+-------+------------------+----------+
|     5 | User211| localhost | zabbix | Sleep   |    29 |       | NULL             |    0.000 |
|     6 | User231| localhost | zabbix | Sleep   |     2 |       | NULL             |    0.000 |
|     7 | User912| localhost | zabbix | Sleep   |   224 |       | NULL             |    0.000 |
|     8 | User234| localhost | zabbix | Sleep   |     1 |       | NULL             |    0.000 |
|     9 | User638| localhost | zabbix | Sleep   |   210 |       | NULL             |    0.000 |
|    10 | User921| localhost | zabbix | Sleep   |     4 |       | NULL             |    0.000 |
|    11 | User636| localhost | zabbix | Sleep   |     0 |       | NULL             |    0.000 |
|    14 | User231| localhost | zabbix | Sleep   |     3 |       | NULL             |    0.000 |
|    15 | User223| localhost | zabbix | Sleep   |  3263 |       | NULL             |    0.000 |
|    16 | User561| localhost | zabbix | Sleep   |  9261 |       | NULL             |    0.000 |
|    17 | User267| localhost | zabbix | Sleep   |     6 |       | NULL             |    0.000 |
|    19 | User278| localhost | zabbix | Sleep   |     1 |       | NULL             |    0.000 |
|    20 | User241| localhost | zabbix | Sleep   |  9990 |       | NULL             |    0.000 |
|    21 | User271| localhost | zabbix | Sleep   |  6390 |       | NULL             |    0.000 |
|    22 | User874| localhost | zabbix | Sleep   |    40 |       | NULL             |    0.000 |
|    25 | User261| localhost | zabbix | Sleep   |  2790 |       | NULL             |    0.000 |
|    44 | User439| localhost | zabbix | Sleep   |    31 |       | NULL             |    0.000 |
|  5690 | User234| localhost | zabbix | Sleep   | 20790 |       | NULL             |    0.000 |
|  6361 | User341| localhost | zabbix | Sleep   |  6391 |       | NULL             |    0.000 |
| 10389 | User231| localhost | zabbix | Sleep   |   647 |       | NULL             |    0.000 |
| 10690 | root   | localhost | NULL   | Query   |     0 | NULL  | show processlist |    0.000 |
+-------+---------+-----------+--------+---------+-------+-------+------------------+----------+
21 rows in set (0.00 sec)

По умолчанию, максимально разрешенного количества соединений для MySQL и MariaDB: 151. Для изменения и определения текущего значения максимально разрешенного количества соединений используются следующие скрипты:
Для просмотра текущего значения:
show variables like "%max_conn%";
  Результат выполнения первой команды будет следующим:
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| extra_max_connections | 1     |
| max_connect_errors    | 10    |
| max_connections       | 50    |
+-----------------------+-------+
3 rows in set (0.00 sec)
для установки нового значения:
set global max_connections = 50;
Результат выполнения:
Query OK, 0 rows affected (0.00 sec) 
Комментарии:
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
UserMan.ru © 2017-2018