kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

OS

web server와 db서버가 따로 있을 경우 느림증상

까마기 2014. 9. 19. 17:43
728x90
반응형

web server와 db서버가 따로 있을 경우 느림증상

1. mysql db 커넥션 수가 제한 되어 있거나 wait_timeout 값이 크게 설정되어 있을 경우
 
소스를 가지고 오는 세션의 종료됨이 지연됨에 따라 커넥션이 많아짐

 --> vi /etc/my.cnf 에서 max_connection 값과 wait timeout 설정을 변경해줌에

따라 해결할 수 있으며, "DB의 unauthenticated user" 과 같은 연결기록 같은 경우

web 서버와 db 서버가 따로 있을 때 DNS 질의 응답이 늦어져서 발생하는 부분으로

vi /etc/my.cnf 에 skip-name-resolv 옵션(DB에 연결된 IP에 대해 resolve 하지않고 그냥 처리합니다)을 추가로 설정한다. 추가로

# vi /etc/my.cnf

#################################################

MySQL 서버는 외부로 부터 접속 요청을 받을 경우 인증을 위해 IP 주소를 호스트네임으로
바꾸는 과정을 수행하여 접속시에 불필요한 부하가 발생하게 됩니다. skip-name-resolve를 
설정하시고 접속시에 IP 기반으로 접속을 하게 되면 hostname lookup 과정을 
생략하게 되어 좀 더 빠르게 접속을 하실 수 있습니다.

###################################################

[mysqld]

skip-name-resolve   
 // 주석 제거를 하거나 항목이 없는경우 추가를 해줍니다.


서버에서 DNS 질의가 지연되어 발생할 수 있는 문제를 방지하기 위하여 /etc/resolv.conf 파일을

옵션을 주어 설정할 수 있다.

options timeout:1 attempts:1
nameserver 168.126.63.1
nameserver 219.250.36.130
nameserver 164.124.107.9


--> 1차 dns에 질의 시도 횟수 1번 시도시 타임아웃 1회 일어났을 경우
바로 2차 dns에 질의, 2차 dns에도 똑같이 1회 질의 시도시 1회 타임아웃이 걸리면
바로 3차 dns에 질의하는 방식으로 DNS 질의가 지연되는 문제를 어느정도 해결할 수
있다.



* mysql 에서 현재 설정되어 있는 커넥션 수와 wait_timeout 값 알아보기

mysql> show variable like



반응형

'OS' 카테고리의 다른 글

mysql 사용자 생성 및 권한 설정  (0) 2014.09.19
mysql 백업 및 복구하기  (0) 2014.09.19
Microsoft ACPI-Compliant System  (0) 2014.09.19
리눅스 보안 관련 설정  (0) 2014.09.19
[Linux/Unix] Fail2ban 적용  (0) 2014.09.19