RadarURL

데이터베이스
2015.03.17 01:23

Mysql 데몬 문제 해결 방안 (cpulimit)

조회 수 911 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Mysql 데몬 문제

joinc는 mysql(:12)을 이용해서 데이터 베이스를 관리한다. 그런데, 주기적으로 CPU 점유율을 100%가량 가까이 먹어버리는 경우가 발생한다. 추적해 본 결과 검색엔진(:12)기타 몇몇 로봇들이 사이트를 크롤링 하면서 이런 문제가 발생하는 것같았다. 명확하지는 않다. 몇몇 로봇은 아예 막아버리기도 했으나 근본적인 해결책은 되지 않았다.

그래서 mysql 데몬의 CPU 점유율을 제한해 버리기로 했다. 정상적인 요청이라면 CPU 자원을 10% 정도만 할당해도, 서비스를 하는데 문제 없을 것이라 생각되기 때문이다.

cpulimit

관련 프로그램이 있는지 구글(:12)신탁을 받기로 했다. 신탁의 결과물은 cpulimit 였다. 신탁을 받들어서 다운받았는데, 소스코드 하나와 make파일 하나만 포함한 아주 간단한 프로그램이였다. 간단해서 코드를 살펴봤다. proc(:12) 파일 시스템을 뒤져서 지정된 프로세스(:12)의 PID를 얻어오고 SIGSTOP와 SIGCONT 시그널(:12)을 이용해서 짧은 휴식을 주는 식으로 사용율을 조절했다. 괜찮은 방법 같았다.

사용 방법은 간단하다. 프로세스 이름이 mysqld인 프로세스의 CPU 점유율을 30%로 제한했다.
# cpulimit --exe mysqld --limit 30

PID단위로 제한할 수도 있다.
# cpulimit --pid 1111 --limit 30

사용 후기

cpulimit로 mysqld의 cpu 점유율을 제한한 후, 컴퓨팅 환경이 좋아진 것을 체감할 수 있을 정도로 효과가 있었다. 혹시 비슷한 문제로 고민하고 있다면 cpulimit를 추천한다. 간혹 단일 http 프로세스가 100%가 되는 경우도 있는데, 이것도 제한해볼까 생각중이다. 정상적이라면 50%를 넘어서는 안될 것이라고 생각되기 때문이다.

적당한 CPU 제한치는 프로세스 사용율 통계자료를 분석해서 설정해야 할 것으로 생각된다.


출처 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Tool/cpulimit

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928121
24 데이터베이스 MySQL Dump / Import (덤프 / 임포트) JaeSoo 2016.10.10 230
23 데이터베이스 Mysql slow-query를 이용한 로그 분석 JaeSoo 2015.03.17 697
» 데이터베이스 Mysql 데몬 문제 해결 방안 (cpulimit) 2 JaeSoo 2015.03.17 911
21 데이터베이스 mysql 5.5.x my.cnf 참고 JaeSoo 2015.03.16 673
20 데이터베이스 Mysql Slow query log 등록 JaeSoo 2015.03.16 785
19 데이터베이스 MYSQL 성능 향상 정리 JaeSoo 2015.03.16 628
18 데이터베이스 MySQL Query Cache 사용법 JaeSoo 2015.03.16 708
17 데이터베이스 Mysql 에서 Got a packet bigger than 'max_allowed_packet' bytes 오류 JaeSoo 2014.12.25 925
16 데이터베이스 Mysql binary log 정리, 삭제 주기 설정 JaeSoo 2014.11.17 1158
15 데이터베이스 MySQL 로그 파일 관리 2 - 로그 파일 남기기 JaeSoo 2014.11.17 1238
14 데이터베이스 MySQL 로그 파일 관리 1 - 설정 JaeSoo 2014.11.17 1156
13 데이터베이스 MySQL Binary Log 지우는 방법 JaeSoo 2014.11.17 1222
12 데이터베이스 MySQL 설치/사용시 발생 에러 유형별 대처방법 JaeSoo 2014.11.17 6890
11 데이터베이스 Mysql 데이터 폴더의 mysql-bin.xxx 파일들 관련 삭제 및 초기화 방법 JaeSoo 2014.11.17 1115
10 데이터베이스 MySQL my.cnf 파일 수정으로 mysql 서버 튜닝하기 JaeSoo 2014.07.07 1797
9 데이터베이스 MySQL에 원격 접속 허용 JaeSoo 2014.07.07 1374
8 유닉스/리눅스 리눅스에서 MYSQL 데이터 디렉토리 변경 JaeSoo 2014.06.04 1905
7 웹 프로그래밍 PHP MySQL 명령어 실행 함수 mysql_query JaeSoo 2014.04.29 1670
6 데이터베이스 mysql에서 (테이블명) is marked as crashed and should be repaired 에러시 JaeSoo 2014.01.23 2304
5 데이터베이스 왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교 file JaeSoo 2013.04.12 5116
Board Pagination Prev 1 2 Next
/ 2


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너