차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

mysql_max_connection_설정 [2018/12/11 12:07] (현재)
koov 만듦
줄 1: 줄 1:
 +====== MySQL Max Connection 설정 ======
 +
 +
 +어플리케이션 운영중 ''​Too many connection''​의 에러가 발생하는 경우 보통 어플리케이션에서 커넥션 제어를 제대로 하지 못하거나 사용량이 많아 디비연결을 위한 커넥션이 모두 사용되어 더이상 커넥션을 맺을수 없는경우 발생한다.
 +
 +해결방법은 어플리케이션 개발시 커넥션 관리를 좀더 명확하게 만들어야 하는데 이게 불가능할경우 MySQL 에서 최대 커넥션수를 늘려주도록 한다.
 +
 +===== 확인 =====
 +
 +현재 MySQL의 최대 연결 가능한 커넥션 수를 확인한다. 보통 아무런 설정을 하지 않은경우 기본값은 151로 나올것이다.
 +
 +<WRAP prewrap>
 +<code bash>
 +mysql> show variables like '​max_connections';​
 ++-----------------+-------+
 +| Variable_name ​  | Value |
 ++-----------------+-------+
 +| max_connections | 151   |
 ++-----------------+-------+
 +1 row in set (0.00 sec)
 +</​code>​
 +</​WRAP>​
 +
 +DB운영중 최대 사용된 커넥션 수를 확인해본다.
 +
 +<WRAP prewrap>
 +<code bash>
 +mysql> show status like '​%used_connection%';​
 ++---------------------------+---------------------+
 +| Variable_name ​            | Value               |
 ++---------------------------+---------------------+
 +| Max_used_connections ​     | 152                 |
 +| Max_used_connections_time | 2018-12-11 11:53:11 |
 ++---------------------------+---------------------+
 +2 rows in set (0.00 sec)
 +</​code>​
 +</​WRAP>​
 +
 +12월 11일 오전 11시 53분경에 최대 사용커넥션 수가 152개로 초과발생한것을 확인할 수 있다.
 +
 +<WRAP prewrap>
 +<code bash>
 +mysql> show status like '​Aborted%';​
 ++------------------+-------+
 +| Variable_name ​   | Value |
 ++------------------+-------+
 +| Aborted_clients ​ | 4     |
 +| Aborted_connects | 1     |
 ++------------------+-------+
 +2 rows in set (0.00 sec)
 +</​code>​
 +</​WRAP>​
 +
 +초과된 커넥션으로 인해 클라이언트 차단은 4회, 커넥션 차단은 1회 발생한것을 알 수 있다.
 +
 +===== 적용 =====
 +운영중인 DB라면 재기동이 불가능하거나 할때 실시간으로 최대 커넥션 수를 변경해줄수 있다.
 +
 +<WRAP prewrap>
 +<code bash>
 +mysql> set global max_connections=500;​
 +Query OK, 0 rows affected (0.00 sec)
 +</​code>​
 +</​WRAP>​
 +
 +영구적으로 적용하려면 ''/​etc/​my.cnf''​ 파일에 추가하도록 한다.
 +
 +<WRAP prewrap>
 +<code vim /​etc/​my.cnf>​
 +[mysqld]
 +max_connections = 500
 +</​code>​
 +</​WRAP>​
 +
 +===== 출처 =====
 +  * http://​threestory.tistory.com/​6
 +  * https://​zetawiki.com/​wiki/​MySQL_max_connections_%EC%84%A4%EC%A0%95
  
  • mysql_max_connection_설정.txt
  • 마지막으로 수정됨: 2018/12/11 12:07
  • 저자 koov