수많은 클라이언트의 요청을 안정적으로 처리할 준비를 해본다. 기본 설정값(151개)은 실제 서비스에서 금방 한계에 도달할 수 있다. 이 문서는 서버의 자원 관리 설정을 튜닝 하는 방법을 안내한다.
1. 주요 설정값 설명
- max_connections: 동시에 접속할 수 있는 최대 클라이언트 수 (기본 151).
- wait_timeout: 비활성(아무것도 안 함) 연결을 자동으로 끊기 전 대기 시간.
- interactive_timeout: 터미널(MySQL CLI) 접속 시 비활성 연결 대기 시간.
2. Master / Slave 서버 권장 설정값
서버의 역할에 따라 설정값을 다르게 가져가는 것이 효율적이다.
[Master 서버]
쓰기 작업과 복제 요청을 동시에 처리해야 하므로 연결 수를 넉넉히 잡는다.
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# [mysqld] 섹션에 추가/수정
max_connections = 1000 # 서비스 규모에 따라 1000~5000 권장
wait_timeout = 600 # 10분간 활동 없으면 연결 종료
interactive_timeout = 600
[Slave 서버]
읽기 전용이므로 Master보다 연결 수를 조금 낮게 잡아 자원을 아낄 수 있다.
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# [mysqld] 섹션에 추가/수정
max_connections = 500 # 500~2000 권장
wait_timeout = 300 # 더 빠른 자원 회수를 위해 5분 권장
interactive_timeout = 300
3. 설정 반영 및 복제 재연결 (트러블슈팅)
설정을 변경한 후에는 반드시 재시작이 필요하다. 이때 Slave의 복제 연결이 일시적으로 끊길 수 있으니 주의한다.
# 서비스 재시작
sudo systemctl restart mysql
[중요] Slave 복제 상태 확인및 수동 재연결
재시작 후 Slave에서 Replica_IO_Running이 No가 되었다면 수동으로 다시 연결해주어야 한다.
sudo mysql -u root -p
-- 상태 확인
SHOW REPLICA STATUS\G
-- 연결이 끊겼다면(No) 다시 시작 (기존 설정한 user/password 사용)
START REPLICA USER='user' PASSWORD='1234';
-- 다시 확인 (Yes가 뜨면 성공)
SHOW REPLICA STATUS\G
'[쿠버네티스] AWS 구축 > 5. EC2에서 MySQL Master-Slave 구성' 카테고리의 다른 글
| 4. 실전 테스트: 복제 및 읽기 전용 검증 (0) | 2026.03.24 |
|---|---|
| 3. Slave 서버 설정 (복제본 서버) (0) | 2026.03.24 |
| 2. Master 서버 설정 (원본 데이터 서버) (0) | 2026.03.24 |
| 1. EC2(Ubuntu 22.04) 에서 MySQL 8.0 설치 및 초기 설정 (Master/Slave 공통) (0) | 2026.03.24 |