세션수 확인
2024. 11. 12. 09:15ㆍMySQL/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;
반응형
'MySQL > Class' 카테고리의 다른 글
pt-table-checksum 사용 (6) | 2024.11.16 |
---|---|
M2(Mac)용 VMWare로 가상화 만들기 - (8) pt-toolkit 설치 (0) | 2024.11.15 |
mha를 위한 ssh 설정 (0) | 2024.11.07 |
기초공부 - (16) slave-skip-errors (0) | 2024.05.23 |
기초공부 - (15) 부하 모니터링(sar,top,qps,connect,buffer_pool) (0) | 2024.05.15 |