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를 수행하여 변경사항을 반영한다.
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
13 | update 샘플 | 2018.03.12 | 1324 |
12 | [DBeaver 4.3.0]import/export시 "Client home is not specified for connection" 오류발생시 조치사항 | 2017.12.21 | 1180 |
11 | 권한회수 및 권한부여 명령 몇가지 | 2017.11.16 | 1109 |
10 | db를 통째로 새로운 이름의 db로 복사하는 방법/절차 | 2017.11.14 | 1068 |
» | mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 | 2017.06.30 | 1692 |
8 | mysql-server 기동시 Do you already have another mysqld server running on port 오류 발생할때 확인및 조치방법 | 2017.05.14 | 2937 |
7 | Mysql DB 생성 및 권한. 특정아이피, 대역에 대한 접근 허용 | 2017.05.04 | 1092 |
6 | Ubuntu 16.04 LTS에 MariaDB 10.1설치 및 포트변경 및 원격접속 허용 | 2017.05.01 | 1699 |
5 | new Gson().toJson(new ObjectId())을 사용하면 값이 다르게 나오는 경우가 있음 | 2016.12.23 | 853 |
4 | ResultSet에서 데이타를 List<Map<String,String>>형태로 만들어서 리턴하는 소스(Collections.sort를 이용한 정렬 가능) | 2016.12.15 | 1154 |
3 | centos 6에서 mariadb 5.1 to 10.0 으로 upgrade | 2016.11.01 | 277 |
2 | AIX 7.1에 MariaDB 10.2 소스 설치 | 2016.09.24 | 2725 |
1 | root계정으로 MariaDB설치후 mysql -u root -p로 db에 접근하여 바로 해줘야 하는일..(케릭터셑은 utf8) | 2015.10.02 | 912 |