웹과 DB 서버가 분리되어있는 환경이였으며 프로세서리스트에 아래와 같이 수천개의 메세지가 쌓여있음...
mysql> show processlist ;
| Id | User | Host | db | Command | Time | State | Info |
+--------+----------------------+----------------------+------+---------+------+-------+------------------+
...................
...................
| 100 | unauthenticated user | 211.xxx.xxx.xxx:55057 | | Connect | | login | |
| 101 | unauthenticated user | 211.xxx.xxx.xxx:55058 | | Connect | | login | |
| 102 | unauthenticated user | 211.xxx.xxx.xxx:55059 | | Connect | | login | |
| 103 | unauthenticated user | 211.xxx.xxx.xxx:55060 | | Connect | | login | |
| 104 | unauthenticated user | 211.xxx.xxx.xxx:55061 | | Connect | | login | |
| 105 | unauthenticated user | 211.xxx.xxx.xxx:55062 | | Connect | | login | |
| 106 | unauthenticated user | 211.xxx.xxx.xxx:55063 | | Connect | | login | |
| 107 | unauthenticated user | 211.xxx.xxx.xxx:36662 | | Connect | | login | |
| 108 | unauthenticated user | 211.xxx.xxx.xxx:36663 | | Connect | | login | |
| 109 | unauthenticated user | 211.xxx.xxx.xxx:55064 | | Connect | | login | |
| 110 | unauthenticated user | 211.xxx.xxx.xxx:55065 | | Connect | | login | |
| 111 | unauthenticated user | 211.xxx.xxx.xxx:36664 | | Connect | | login | |
...................
...................
원인 :
mysql 서버의 경우 ip주소로 클라이언트 접속이 들어오게 되면 해당 ip에 대한 resolving을 수행하게 된다. 즉, 접속한 네가 누구냐? 라고 묻게되는 건데 문제는 이 질의에 대해 정상적으로 대답을 하게 되면 show processlist 상에 ip 부분이 이름으로 나오게 되지만 네트워크 환경이 느려 dns server의 대답이 늦어지게 된다면 그만큼 connection을 유지하고 있는 문제가 발생하게 된다.
조치 :
/etc/mysql/my.cnf 파일에 아래 옵션 추가
[mysqld]
...
skip-name-resolve
skip-host-cache
데몬 재시작