Come posso limitare il numero di processi figlio generati da MySQL?


8

C'è un modo per limitare il numero di bambini rispetto alle mysqlduova? O non dovresti preoccuparti di questo? Il mio VPS ha solo 512 MB di RAM.

Ecco l'output di htop, dopo aver impostato max_connectionssu 6 e riavviato il mysqlservizio:

  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

Ho installato 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

Risposte:


3

potresti utilizzare max_user_connections per limitare il numero di connessioni che un singolo utente mysql può avere contemporaneamente

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

dovresti provare alcune diverse impostazioni / combinazioni di max_connections e max_user_connections per ottenere le migliori prestazioni senza esaurire le connessioni.

inoltre, non è un rapporto 1: 1 tra connessioni e thread.

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


-1

Non so esattamente quali siano questi processi figlio, ma credo che non siano nulla di cui preoccuparsi .

La tua htoplettura mostra che /usr/sbin/mysqldutilizza 136 MB di RAM totale (dal VIRTcampo). I processi secondari non utilizzano una quantità più notevole di RAM. 136 MB possono sembrare molti, ma MySQL richiede naturalmente memoria .

Se ritieni che l'utilizzo della CPU sia un problema, non dovrebbe esserlo. Il TIME+campo mostra uno scarso utilizzo di uno qualsiasi dei mysqldprocessi.

Una volta avevo anche un VPS con 512 MB di RAM. È stata la mia scarsa scelta di software a portarmi a corto di RAM: ho provato a eseguire più server virtuali con Virtualmin . 512 MB non sono molti e le soluzioni di virtualizzazione come OpenVZ non ti consentono di scambiare nulla sul disco, quindi fai attenzione ad altri fattori che potrebbero aumentare l'utilizzo della RAM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.