Назад | Перейти на главную страницу

Ограничьте разветвленные процессы MySQL

Как вы можете ограничить количество процессов, которые MySQL разветвляет? При запуске заметил, что детей не менее 10. Это база данных разработки, которая не находится в производстве; поэтому пользователи не подключаются к нему.

Вы можете попытаться уменьшить количество процессов / потоков, изменив следующие значения:

max_user_connections

max_connections

max_delayed_threads

Например, в my.cnf:

max_connections = 1
max_user_connections = 1
max_delayed_threads = 1

Но это не гарантирует, что будет меньше процессов / потоков, поскольку не все процессы / потоки связаны с подключением.

используйте max_user_connections, чтобы ограничить количество подключений, которые может иметь один пользователь mysql одновременно

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_user_connections

вам нужно будет попробовать несколько разных настроек / комбинаций max_connections и max_user_connections, чтобы получить максимальную производительность без исчерпания соединений.

Кроме того, это не соотношение 1: 1 между соединениями и потоками.

http://dev.mysql.com/doc/internals/en/threads.html

Что сказал @ b13n1u. Если это не поможет, любую программу можно ограничить стандартным ulimit пределы, ср. этот вопрос в качестве связанного примера.

Ограничить mysqld процессы в Linux, например, "ulimit -u 5" до начала mysqld, возможно, добавьте это в сценарий инициализации mysql.