기초공부 - (3) sleep 세션 정리 하기(interactive_timeout, wait_timeout)

2024. 1. 30. 23:06MySQL/Class

반응형

# show processlist 로 세션 정보들을 보았을 때 sleep세션이 존재하는 경우들이 있습니다.

오래동안 sleep으로 되어 있는 세션들을 정리하기 위해 우리는 timeout 이라는 것 설정값을 통해 대기 시간을 설정해 줄 수 있습니다.

세션 정보

 

# 아래 timeout 파라미터 중 우리는 interactive_timeout과 wait_timeout 설정을 변경해 주면 됩니다.

mysql> show variables like '%timeout%';
+-----------------------------------+----------+
| Variable_name                     | Value    |
+-----------------------------------+----------+
| connect_timeout                   | 10       |
| delayed_insert_timeout            | 300      |
| have_statement_timeout            | YES      |
| innodb_flush_log_at_timeout       | 1        |
| innodb_lock_wait_timeout          | 50       |
| innodb_rollback_on_timeout        | OFF      |
| interactive_timeout               | 28800    |
| lock_wait_timeout                 | 31536000 |
| mysqlx_connect_timeout            | 30       |
| mysqlx_idle_worker_thread_timeout | 60       |
| mysqlx_interactive_timeout        | 28800    |
| mysqlx_port_open_timeout          | 0        |
| mysqlx_read_timeout               | 30       |
| mysqlx_wait_timeout               | 28800    |
| mysqlx_write_timeout              | 60       |
| net_read_timeout                  | 30       |
| net_write_timeout                 | 60       |
| replica_net_timeout               | 60       |
| rpl_stop_replica_timeout          | 31536000 |
| rpl_stop_slave_timeout            | 31536000 |
| slave_net_timeout                 | 60       |
| ssl_session_cache_timeout         | 300      |
| wait_timeout                      | 28800    |
+-----------------------------------+----------+
23 rows in set (0.01 sec)

 

# timeout 수정

mysql> set global interactive_timeout=10;
Query OK, 0 rows affected (0.00 sec)

mysql> set global wait_timeout=10;
Query OK, 0 rows affected (0.00 sec)

 

# 파라미터를 수정하였지만, 이것은 새로 들어오는 세션에 대해서만 적용이 됩니다. user1의 세션은 time이 지정한 값보다 넘었음에도 불구하고 계속 남아 있는 것이 그 이유입니다.

# user2 신규 세션 접속 후 9초 후 사라진 것을 볼 수 있습니다.

user2 세션 10초 후 종료

 

# client는 접속 후 10초에 아래와 같은 메세지를 포함한 후 재접속이 될 것입니다.

 

반응형