(loop (print (eval (read))))

;;닭집을 차리기 위한 여정

마리아디비.. 뭐니?

뭔가 지금 이상한 일이 일어나고 있는거 가튼디..

새로 일을 시작해서 db로 마리아디비를 골랐다.
근데 요놈이 mysql하고 똑같다. 버그까지 -_-;
커넥션풀을 죽이는 wait_timeout 설정이 있어서 우회하고
같은 상황을 또 마주하게 됐다.

my.cnf
1
2
3
4
5
6
7
8
9
max_connections = 100
connect_timeout = 5
wait_timeout = 60
max_allowed_packet = 16M
thread_cache_size = 128
sort_buffer_size = 4M
bulk_insert_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M

어라? wait_timeout 이 60 이네?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
MariaDB [(none)]> show variables like '%timeout';
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| connect_timeout | 5 |
| delayed_insert_timeout | 300 |
| innodb_flush_log_at_timeout | 1 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| thread_pool_idle_timeout | 60 |
| wait_timeout | 28800 |
+-----------------------------+----------+
12 rows in set (0.00 sec)

어라 여기서는 28800 이네?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MariaDB [(none)]> show processlist;
+----+------+--------------------+----------+---------+------+-------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+------+--------------------+----------+---------+------+-------+------------------+----------+
| 51 | root | localhost | NULL | Query | 0 | init | show processlist | 0.000 |
| 53 | xxx | xxx.xx.xx.xx:50258 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 54 | xxx | xxx.xx.xx.xx:50259 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 55 | xxx | xxx.xx.xx.xx:50260 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 56 | xxx | xxx.xx.xx.xx:50261 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 57 | xxx | xxx.xx.xx.xx:50262 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 58 | xxx | xxx.xx.xx.xx:50263 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 59 | xxx | xxx.xx.xx.xx:50264 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 60 | xxx | xxx.xx.xx.xx:50265 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 61 | xxx | xxx.xx.xx.xx:50266 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 62 | xxx | xxx.xx.xx.xx:50267 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 63 | xxx | xxx.xx.xx.xx:50268 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 64 | xxx | xxx.xx.xx.xx:50269 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 65 | xxx | xxx.xx.xx.xx:50270 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 66 | xxx | xxx.xx.xx.xx:50271 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 67 | xxx | xxx.xx.xx.xx:50272 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
| 68 | xxx | xxx.xx.xx.xx:50273 | xxxxxxxx | Sleep | 6 | | NULL | 0.000 |
+----+------+--------------------+----------+---------+------+-------+------------------+----------+

계속 보고있지 뭐.
60초가 지나니까 다 죽어 없어짐.
wait_timeout 을 10으로 조정. 역시 10초만에 다 죽음.

my.cnf 에 있는 설정값이 제대로 나오지 않는 것으로.
야…