8

Есть ли способ ограничить количество детей, чем порождает mysqld ? Или не стоит об этом беспокоиться? Мой VPS имеет только 512 МБ оперативной памяти.

Вот вывод htop , после того как я установил max_connections 6 и перезапустил службу mysql :

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
27082 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.41  `- /usr/sbin/mysqld
27121 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.05  |   `- /usr/sbin/mysqld
27099 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.23  |   `- /usr/sbin/mysqld
27097 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27096 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27095 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27094 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.02  |   `- /usr/sbin/mysqld
27093 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.01  |   `- /usr/sbin/mysqld
27091 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27090 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27089 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27088 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld

Я установил MySQL, используя aptitude.

$ aptitude search '~i'
i A mysql-client-5.1                                                                - MySQL database client binaries
i A mysql-client-core-5.1                                                           - MySQL database core client binaries
i A mysql-common                                                                    - MySQL database common files, e.g. /etc/mysql/my.cnf
i   mysql-server                                                                    - MySQL database server (metapackage depending on the latest version)
i A mysql-server-5.1                                                                - MySQL database server binaries and system database setup
i A mysql-server-core-5.1                                                           - MySQL database server binaries

2 ответа2

3

Вы могли бы использовать 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

-1

Я не знаю точно, что это за дочерние процессы, но я считаю, что им не о чем беспокоиться.

Ваше чтение htop показывает, что /usr/sbin/mysqld использует 136 МБ ОЗУ (из поля VIRT ). Дочерние процессы не используют более заметный объем оперативной памяти. 136 МБ может показаться большим, но MySQL, естественно, требует памяти.

Если вы думаете, что использование процессора является проблемой, это не должно быть. Поле TIME+ показывает малое использование любого из процессов mysqld .

Когда-то у меня был VPS с 512 МБ оперативной памяти. Это был мой неудачный выбор программного обеспечения, который привел меня к нехватке ОЗУ - я попытался запустить несколько виртуальных серверов с Virtualmin. 512 МБ не так много, и решения для виртуализации, такие как OpenVZ , не позволяют вам ничего менять на диске, поэтому следите за другими факторами, которые могут увеличить использование вашей оперативной памяти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .