MySQL이 생성하는 자식 프로세스의 수를 어떻게 제한 할 수 있습니까?


8

mysqld산란 보다 자녀 수를 제한하는 방법이 있습니까? 아니면 걱정하지 않아도 될까요? 내 VPS에는 512MB의 RAM 만 있습니다.

6으로 htop설정 max_connections하고 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 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필드에서) 총 136MB의 RAM을 사용하고 있음을 보여줍니다 . 자식 프로세스는 더 많은 양의 RAM을 사용하지 않습니다. 136MB는 많은 것처럼 보이지만 MySQL은 당연히 메모리를 요구합니다 .

CPU 사용 이 걱정 된다고 생각 되면 그렇게해서는 안됩니다. 이 TIME+필드에는 mysqld프로세스 의 사용량이 거의 표시되지 않습니다 .

한때 RAM이 512MB 인 VPS도있었습니다. RAM이 부족한 것은 저의 소프트웨어 선택이었습니다. 저는 Virtualmin으로 여러 개의 가상 서버를 실행하려고했습니다 . 512MB는 많지 않으며 OpenVZ 와 같은 가상화 솔루션 을 사용하면 디스크로 아무것도 스왑 할 수 없으므로 RAM 사용량을 증가시킬 수있는 다른 요소를 조심하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.