티스토리 뷰
mysql이 원인인줄 모르고 찾아 봤던 페이지 프리징 현상이 사건의 발단이다
소스 디버깅한 결과
디비를 연결 한 후 부터 이런 현상이 발생한걸 찾음
디비 서버에 접속 해서 프리징이 일어날때 show processlist를 해 보니 아래와 같았음..
아래의 문서대로 해 보니.. 이젠 이런 현상이 없어졌음..
너무 너무 좋음~~
웹과 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
데몬 재시작
'Mysql' 카테고리의 다른 글
mysql 테스트 URL (0) | 2017.06.08 |
---|---|
mysql 테이블 용량 알아내기 위한 쿼리 (0) | 2016.11.15 |
댓글