У меня есть один экземпляр db.m5.large RDS, работающий в моей настройке aws. Когда я проверяю максимальное соединение с консоли mysql, с помощью запроса ниже.
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 624 |
+-----------------+-------+
Итак, я предполагаю, что он может обрабатывать 624 соединения.
И когда я проверяю максимальное количество используемых соединений с помощью запроса ниже.
mysql> SHOW STATUS WHERE `variable_name` = 'Max_used_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 99 |
+----------------------+-------+
Я предполагаю, что активных подключений 99, а остальные бесплатные.
Но моя система сигнализации AWS и система мониторинга RDS показывают, что на нее требуется 90+ db подключений. Но мой ЦП RDS при этом потребляет всего 8%. Этот сигнал тревоги / мониторинг - это просто количество или среднее максимальное количество подключений?
Меня мало беспокоит то, что мой сервер может остановиться после достижения максимального соединения (100) через некоторое время.
Может ли кто-нибудь сказать / объяснить ниже
max_connections = 624
говорит, что это будет позволять столько связей. Вероятно, он не сможет справиться с таким большим количеством одновременно.
Max_used_connections = 99
Значит это в какой-то момент с момента запуска было 99 подключений. Однако они могли сидеть без дела, ожидая, пока приложение (или пользователь) выдаст запрос.
Threads_running
- это мгновенный подсчет количества подключений, которые на самом деле что-то делают в данный момент. Несколько десятков - это «большое» число для этого. Однако это мимолетный подсчет, поэтому наблюдение за ним скорее навязчиво, чем полезно.
Хорошо промасленный сервер MySQL будет использовать только 8% ЦП (или какое-то число намного меньше 100%).
В общем, вам следует попытаться уменьшить количество подключений со стороны приложения. Это может быть достигнуто
wait_timeout
- для загрузки соединений, которые не могут отключиться.max_connections
- но это довольно резкоПредлагаемые вами различные показатели не являются «действенными», поэтому я не буду пытаться придумывать, как их измерить.
Если ваше приложение работает медленно, который ключ к осмотру. Медленный журнал - это мое место "перехода" - оно не только сообщает, что возникла проблема, но и указывает, какой запрос "наихудший" (после использования некоторого дайджеста).
Если вам нужен обзор сотен VARIABLES
и GLOBAL STATUS
, видеть этот для информации, которая мне нужна. Их около 200 потенциал красные флажки, которые он ищет.