본문 바로가기

DB/Mysql(MariaDB)

MariaDB - max_connections 변경하기

728x90

max_connections 이란?

MariaDB의 max_connections 설정은 데이터베이스 서버가 동시에 처리할 수 있는 최대 클라이언트 연결 수를 지정합니다.
각 클라이언트 연결은 데이터베이스에 쿼리를 실행하거나 데이터를 조작할 때 필요합니다. 

 

max_connections를 왜 변경해야 하나?

  1. 자원 한계 관리: 서버의 CPU나 메모리 등 자원은 한정적이기에, 너무 많은 연결이되면 시스템 과부하되어 성능 저하나 서비스 중단이 될 수 있습니다.
  2. 성능 최적화: 동시 연결 수를 조절함으로써 서버의 응답 시간을 개선하고 자원 사용률을 최적화합니다.
  3. 보안 강화: 연결 수를 제한함으로써 잠재적인 DoS(Denial of Service) 공격 또는 비정상적인 트래픽 증가에 대한 위험을 줄일 수 있습니다.

max_connections 변경 방법

  1. 설정 파일 변경: MariaDB의 설정 파일인 'my.ini' 또는 'my.cnf' 파일에서 'max_connections' 값을 변경할 수 있습니다.
  2. [mysqld]
    max_connections = 1000
    * 설정 파일을 변경하였으니 서비스 재기동 필요 *
  3. SQL 명령어 이용: MariaDB가 실행 중인 상태에서 임시로 변경할 때 사용합니다.
  4. mysql -u root -p     // mysql root 계정으로 접속
    
    SET GLOBAL max_connections = 1000;     // max_connections 값 변경​
    * 서비스 재기동 전까지 유지 / 임시로 변경됨 *
  5. DB 구동 시 옵션 설정: 설정 파일에 값을 추가하지 않고 옵션값을 지정하여 구동시킬 수 있습니다.
  6. # /mysql/bin/mysqld_safe -O max_connections=1000​
    * 서비스 재기동 전까지 유지 / 잘 사용하지 않음.. *

max_connections 변경하지 않을 경우 발생할 수 있는 문제

  1. 성능 저하: max_connections 값이 너무 낮으면 클라이언트가 동시에 데이터베이스에 접근하지 못하게 됩니다.
    사용자의 요청을 처리하는 속도가 느려지며, 최종적으로 클라이언트 사용성에 문제가 발생합니다.
  2. 연결 거부: max_connections 값을 초과하는 연결 시도가 발생하면 서버에서 연결을 거부합니다.
    데이터베이스 접근에 있어 대기 상태에 들어가거나 연결을 실패할 수 있습니다.
  3. 시스템 자원 과부하: max_connections 값이 너무 높게 설정하면 동시에 많은 수의 연결이 생성될 때 시스템 자원(CPU, 메모리 등)이 과도하게 사용될 수 있습니다. 
  4. 보안 위험: 악의적인 사용자가 서비스 거부(DoS) 공격을 하게 되면, 정상적인 사용자의 접근을 차단할 수 있습니다.

max_connections 확인 방법

mysql -u root -p     // mysql root 계정으로 접속

SHOW VARIABLES LIKE 'max_connections';     // max_connections 값 확인
728x90
반응형