MySQLが生成する子プロセスの数を制限するにはどうすればよいですか?


8

mysqldスポーンよりも子供の数を制限する方法はありますか?それとも心配する必要はありませんか?VPSには512MBのRAMしかありません。

これはhtopmax_connections6 に設定して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

aptitudeを使用してMySQLをインストールしました。

$ 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

回答:


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が(VIRTフィールドから)合計136 MBのRAMを使用していることを示しています。子プロセスは、目立った量のRAMを使用していません。136 MBは多くのように思えるかもしれませんが、MySQLは当然メモリを要求します

CPU使用率が問題であると思われる場合は、問題ではありません。TIME+フィールドには、のいずれかの少しの使用方法を示すmysqldプロセスを。

私もかつて512 MBのRAMを搭載したVPSを持っていました。RAMが不足する原因となったのは、ソフトウェアの選択が悪かったためです。Virtualminで複数の仮想サーバーを実行してみました。512 MBでは大したことはなく、OpenVZのような仮想化ソリューションでは何もディスクにスワップアウトできないため、RAMの使用量を増やす可能性のある他の要因に注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.