¿Cómo puedo limitar el número de procesos secundarios que genera MySQL?

8

¿Hay alguna forma de limitar el número de hijos que mysqldgenera? ¿O no debería uno preocuparse por eso? Mi VPS solo tiene 512 MB de RAM.

Aquí está el resultado de htop, después de configurar max_connections6 y reiniciar el mysqlservicio:

  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

He instalado MySQL usando 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
Dan Dascalescu
fuente

Respuestas:

3

podría usar max_user_connections para limitar la cantidad de conexiones que puede tener un solo usuario de mysql a la vez

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

necesitaría probar algunas configuraciones / combinaciones diferentes de max_ connections y max_user_connections para obtener el mejor rendimiento sin quedarse sin conexiones.

Además, no es una relación 1: 1 entre conexiones y subprocesos.

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

Jonathan
fuente
-1

No sé exactamente cuáles son esos procesos secundarios, pero creo que no hay nada de qué preocuparse .

Su htoplectura muestra que /usr/sbin/mysqldestá utilizando 136 MB de RAM en total (del VIRTcampo). Los procesos secundarios no están utilizando más cantidad notable de RAM. 136 MB puede parecer mucho, pero MySQL es naturalmente exigente para la memoria .

Si cree que el uso de la CPU es una preocupación, no debería serlo. El TIME+campo muestra poco uso de cualquiera de los mysqldprocesos.

Una vez tuve un VPS con 512 MB de RAM, también. Fue mi mala elección de software lo que me llevó a quedarme sin RAM: intenté ejecutar varios servidores virtuales con Virtualmin . 512 MB no es mucho, y las soluciones de virtualización como OpenVZ no le permiten intercambiar nada en el disco, así que tenga cuidado con otros factores que podrían aumentar su uso de RAM.

Deltik
fuente