메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


*출처 : http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&wr_id=194&sca=&page=3


특정 사이트에서 mysql 서버 접속이 엄청 느려졌다.

로컬 접속은 문제가 없는데  외부 mysql  쿼리만 유독 느리다면......

또 서버 리소스나 네트웍에는 크게 문제가 업다면.....

 

mysql> show processlist;

| 1233 | unauthenticated user | 10.1.0.100:49607 || Connect|| login | 

| 1234 | unauthenticated user | 10.1.1.100:49608 || Connect|| login |

 

DB 연결 속도가 떨어지고, 웹페이지 접속이 느려지는 것 같습니다. 

저게 왜 생기는 것인지 그리고 해결 방안은?

 


먼저 저런 증상에서 벗어 나시려면 

mysql 구동시 --skip-name-resolve 옵션 넣어 주시던가 

혹은 /etc/hosts 설정 파일에 접속 IP와 호스트명을 넣어 주시면 됩니다.

 

그럼 왜 저런 증상들이 나타나는 지 대략 말씀드리자면 mysql에서 접속시 ip에 대한 resolving을 하는데 

대부분의 IP는 등록되어 있지 않습니다.

 

DNS서버가 느리다면 이 부분은 더욱 심각한 속도 문제가 발생하게 됩니다. 

역질의를 하지 않는 방법과, DNS가 아닌 /etc/hosts파일에서 질의 하게 하는 방법으로 풀어야합니다. 

둘 중 빠른 방법은 DNS서버에게 역질의하지 않게 하는 방법입니다. 

 

skip-name-resolve는 client 에서 server로 접속시에 DNS Lookup 과정을 생략해 주고, 

localhost 로 접속하는 경우는 문제가 없지만 IP 로 접속하는 환경에서는 DNS 서버가 느리거나 

아님 장애 발생시에 해당 옵션을 설정해 주므로써 DB 접속시에 문제점을 해결하실 수 있습니다.

 

결론은

1. DB서버에  /etc/host 파일을 변경해 주고 접속하기

 

#vi /etc/hosts

168.126.63.1               www1 www1.jnetwork.co.kr localhost

 

 

2. DB서버 재시작시 skip-name-resolve 옵션을 주고 재시작 함

#killall mysqld

#/usr/local/mysql/bin/mysqld_safe --skip-name-resolve &


* 우분투 16.04 LTS에서 MariaDB는 아래와 같이 실행시켜준다.

#killall mysqld

#root@gsda3:/root# /usr/sbin/mysqld --skip-name-resolve &


3. /etc/mysql/my.cnf를 수정하여 영구적으로 반영한다.(2번 혹은 3번준에 한개만 실행할 것) 

vi /etc/mysql/my.cnf 

[mysqld]의 끝에 skip-name-resolve를 추가해준다.

그리고 service mysqld restart를 수행하여 변경사항을 반영한다.


번호 제목 날짜 조회 수
641 우분투 16.04 LTS에 apache2와 tomcat7 연동하여 설치하기 2014.05.09 1596
640 FAILED: IllegalStateException Variable substitution depth too large: 40 오류발생시 조치사항 2014.08.19 1595
639 upsert구현방법(년-월-일 파티션을 기준으로) 및 테스트 script file 2018.07.03 1573
638 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 2014.05.22 1558
637 ExWordCount jar파일 file 2013.03.06 1555
636 마이바티스(MyBatis)쿼리로그 출력및 정렬하기 2015.12.01 1546
635 apt-get install mysql-server수행시 "404 Not Found" 오류발생시 조치방법 2014.09.10 1504
634 The disk drive for uuid= is not ready yet or not present 오류 해결방법 2014.04.21 1491
633 resouce manager에 dr.who가 아닌 다른 사용자로 로그인 하기 2018.06.28 1487
632 ubuntu 커널 업그레이드 방법 2018.09.02 1483
631 build.gradle을 pom.xml로 변환하는 방법 2016.08.18 1477
630 avro 사용하기(avsc 스키마 파일 컴파일 방법, consumer, producer샘플소스) 2016.07.08 1457
629 Mybatis foreach 문법정리(상황에 따른 사용법) 2015.11.10 1454
628 solr vs elasticsearch 비교2 2014.09.29 1424
627 crypto관련 기생충 박멸 스크립트 2018.05.11 1420
» mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 2017.06.30 1419
625 lagom-linux용 build.sbt파일 내용 2017.10.12 1415
624 Oozie 설치, 환경설정 및 테스트 2014.04.08 1404
623 우분투 root 패스워드 설정하기 2013.03.04 1393
622 자주쓰는 유용한 프로그램 2018.03.16 1385
위로