세션수 확인

2024. 11. 12. 09:15MySQL/Class

반응형

# 저는 제가 직접 확인해보고 느낀 부분만 적고 있어 다소 내용이 빈약할 수 있습니다.

자세한 정보가 있는 다양한 블로그들이 있으니, 이 포스팅은 이런게 있구나 라고만 스쳐지나가듯 봐주시길 바랍니다.

MariaDB [(none)]> select @@version;
+--------------------+
| @@version          |
+--------------------+
| 5.5.29-MariaDB-log |
+--------------------+
1 row in set (0.00 sec)

 

1. 세션 파라미터

max_connections 인스턴스에 접속 할 수 있는 총 세션수
max_user_connections 하나의 유저가 접속할 수 있는 총 세션수
Aborted_connects 접속 실패한 횟수
Connections 접속을 시도한 횟수(성공 또는 실패 모두 count)

 

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 400   |
+-----------------+-------+
1 row in set (0.00 sec)

MariaDB [(none)]> show variables like 'max_user_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| max_user_connections | 390   |
+----------------------+-------+
1 row in set (0.03 sec)

- max_connections가 높더라도, max_user_connections의 값이 낮으면, 하나의 서비스 계정에서 사용자가 많아진다면max_user_connections의 설정값 때문에 더이상 연결 수가 증가 할 수 없을 것입니다.

 

2. 세션수 확인

# 현재까지 최대로 접속한 세션수
MariaDB [(none)]> show status like 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 6     |
+----------------------+-------+
1 row in set (0.01 sec)

# 현재 접속 중인 세션수
MariaDB [(none)]> show status like 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 2     |
+-------------------+-------+
1 row in set (0.00 sec)

 

3. 파라미터 수정

 - 상황에 따라서 수정여부를 판단해야겠지만, 최대 연결 할 수 있는 세션수 초과로 장애가 발생할 수 있기 때문에 상태 확인 후에 세션 수를 늘려주는 것도 좋은 방법이지 않을까 생각합니다.

 - 0 은 unlimit 입니다.

MariaDB [(none)]> set global max_user_connections=50;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show variables like 'max_user_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| max_user_connections | 50    |
+----------------------+-------+
1 row in set (0.00 sec)

MariaDB [(none)]> set global max_connections=70;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 70    |
+-----------------+-------+
1 row in set (0.00 sec)

 

4. Error

- max_connections 를 초과했을 경우

ERROR 1040 (08004): Too many connections

 

- max_user_connections 를 초과했을 경우

ERROR 1203 (42000): User  already has more than 'max_user_connections' active connections​

- max_connect_errors 를 초과했을 경우 ???

단순 커넥션 후 close되면 비정상 종료로 판단하여 해당 IP를 블럭한다고 하는데 저는 해당 상황을 만들지 못하였습니다. ㅠ

ERROR 1129

flush hosts;

 

 

 

반응형