У MySQL и MariaDB нет процесса на соединение, как у PostgreSQL, — есть поток, но плата за каждое подключение всё равно реальная: стек потока, сессионные буферы, кэши сортировки. Пока соединений мало, это незаметно. Но стоит поднять max_connections «с запасом» и не пересчитать, сколько памяти сервер обязан выделить, если все они одновременно окажутся заняты, — и в момент пиковой нагрузки сервер вместо ускорения уходит в своп. Разберём, из чего складывается цена одного соединения, как считать пиковое потребление и где вместо роста лимита стоит поставить…
Подробнее →