max_connections 구성 매개변수를 사용하여 MySQL에서 성능 최적화를 수행하는 방법

伊谢尔伦
풀어 주다: 2017-05-30 14:48:37
원래의
1771명이 탐색했습니다.

MySQL의 max_connections 매개변수는 최대 연결(사용자) 수를 설정하는 데 사용됩니다. MySQL에 연결하는 각 사용자는 하나의 연결로 계산되며 max_connections의 기본값은 100입니다. 이 문서에서는 이 매개변수의 자세한 역할과 성능 영향에 대해 설명합니다.

max_connections 관련 기능

MySQL은 현재 연결 수가 max_connections에 도달한 경우에도 관리자가 유지 관리 작업을 위해 데이터베이스에 연결할 수 있도록 관리자(SUPER) 로그인을 위한 연결을 예약합니다. 따라서 MySQL에서 만들 수 있는 실제 최대 연결 수는 max_connections+1입니다.
이 매개변수의 실제 최대값(실제 최대 연결 수)은 16384입니다. 즉, 이 매개변수의 최대값은 16384를 초과할 수 없습니다. , 초과하더라도 16384가 우선합니다.
max_connections 매개변수 값을 늘리면 너무 많은 시스템 리소스를 차지하지 않습니다. 시스템 리소스(CPU, 메모리) 점유는 주로 쿼리의 밀도, 효율성 등에 따라 달라집니다.
이 매개변수를 너무 작게 설정하면 가장 두드러지는 증상은 "연결이 너무 많습니다" 오류입니다.

먼저 살펴보겠습니다. 현재 mysql을 보는 방법에서 max_connections의 값:

다음 sql

show variables like "max_connections";
로그인 후 복사

은 다음 형식으로 결과를 표시합니다

+------+- ------+
| 값 |
+------+------+
| ----------- ------+-------+

다음 SQL 문을 통해 max_connections 값을 200으로 설정할 수 있습니다. 물론 전제는 다음과 같습니다. 현재 로그인한 사용자는 충분한 권한을 가지고 있습니다:

set global max_connections = 200 ;

이 설정은 즉시 적용되지만 mysql을 다시 시작하면 무효화됩니다. 더 좋은 방법은 mysql의 ini 구성 파일 my.ini

을 수정하는 것입니다.

mysqld 블록을 찾아 다음 설정을 수정하거나 추가하세요.

max_connections= 200

이 수정 후에는 mysql을 다시 시작하더라도 이 구성이 기본적으로 로드됩니다

그러나 안전을 위해 권장됩니다. my.ini에서 직접 수정하면 추가할 수 있습니다.

max_connections 매개변수의 값을 조정하세요

이 매개변수를 조정하는 방법은 여러 가지가 있습니다. 이는 컴파일 중에 설정하거나 MySQL 구성 파일 my.cnf에서 직접 조정할 수도 있습니다. 즉시 적용됩니다.

1 컴파일 중 기본 최대 연결 수를 설정하세요

MySQL 소스 코드를 열고 sql 디렉터리에 들어가서 mysqld.cc 파일을 수정하세요.

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,0},
로그인 후 복사

빨간색 "100"이 기본값입니다. 이 매개변수를 원하는 값으로 수정하고 저장하고 종료합니다. 그런 다음

./configure;make;make install
로그인 후 복사

를 실행하여 MySQL을 다시 컴파일하고 설치합니다. MySQL 소스 코드가 컴파일, 설치 및 수정되므로 이 작업은 MySQL을 설치하기 전에 수행하는 것이 가장 좋습니다.

2. cnf

MySQL 구성 파일 my.cnf

[root@www ~]# vi /etc/my.cnf
로그인 후 복사

을 열고 max_connections 라인을 찾아 수정합니다(그렇지 않으면 직접 추가).

max_connections = 1000
로그인 후 복사

위의 1000이 이 매개변수의 값입니다.

3. 이 매개변수의 값을 실시간(임시)으로 수정합니다.

먼저 mysql에 로그인하고 다음 명령을 실행합니다.

[root@www ~]# mysql -uroot -p
로그인 후 복사

그런 다음 MySQL 루트 비밀번호를 입력합니다.

현재 Max_connections 매개변수 값 보기:


mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';
로그인 후 복사

이 매개변수의 값 설정:


mysql> set GLOBAL max_connections=1000;
로그인 후 복사
(위 명령의 경우 참고)


수정 내용은 MySQL을 다시 시작하지 않고도 실시간으로 적용됩니다.

일반적으로 이 매개변수는 서버 리소스가 동시에 연결하는 여러 클라이언트의 요구 사항을 충족하기에 충분할 때 가능한 한 크게 설정해야 합니다. 그렇지 않으면 "연결이 너무 많습니다"와 유사한 오류가 발생합니다.


일반적으로 동시에 온라인에 접속한 인원수를 기준으로 좀 더 포괄적인 숫자를 10000으로 설정합니다.

위 내용은 max_connections 구성 매개변수를 사용하여 MySQL에서 성능 최적화를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿