RadarURL
Skip to content
조회 수 172 추천 수 0 댓글 0
?

단축키

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
번호 제목 글쓴이 날짜 조회 수
39 mySQL에서 사용자와 권한 처누 2004.04.16 7326
38 Mysql 기초-DB 설치, 관리자지정, 계정추가 등 처누 2004.06.06 7355
37 MySql 테이블 검사 및 복구하기 [ myisamchk ] JaeSoo 2005.11.26 6892
36 mysql에서 사용자 계정 비밀번호 변경 방법 JaeSoo 2006.02.16 7859
35 MySQL에서 테이블을 생성할때 MyISAM과 InnoDB 어느것을 선택하나요? JaeSoo 2010.01.25 7581
34 [Mysql] 범위 삭제 DELETE 쿼리 JaeSoo 2010.05.05 8115
33 mysql 4.x 버전의 euc-kr(latin1) DB를 mysql 5.x 버전으로 이전 하는법 JaeSoo 2011.04.30 8529
32 MySQL Dump뜨는 방법 및 복구 방법 JaeSoo 2011.06.08 10702
31 fedora core4 mysql 서버설치 및 windows client로 접속 JaeSoo 2011.06.16 12686
30 [Fedora 8] Mysql 5.0.67 설치 JaeSoo 2011.06.16 10362
29 Mysql DB 손상됬을경우 점검 및 복구 명령 JaeSoo 2011.09.16 9270
28 MySQL 재설치시 오류 JaeSoo 2011.11.15 7600
27 MySQL Data file 위치 JaeSoo 2011.11.15 5561
26 MySQL Plugin 'InnoDB' init function returned error. JaeSoo 2011.11.15 5745
25 mysqlcheck 유틸리티 사용법(analyze, optimize, repair) JaeSoo 2012.06.05 4627
24 윈도우환경에서 MySQL 설치하기 JaeSoo 2013.03.13 3534
23 MySQL database 정보 import하기 JaeSoo 2013.03.13 1355
22 MySQL 테이블 형태 변경하기 MyISAM -> InnoDB(또는 InnoDB -> MyISAM) JaeSoo 2013.03.19 1617
21 [MySQL] phpMyAdmin으로 MyISAM 테이블 형식을 InnoDB로 바꾸기 JaeSoo 2013.03.19 6768
20 왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교 JaeSoo 2013.04.12 3935
Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 4585 Yesterday : 5037 Total : 21960637  /  Counter Status   Today : 4448 Yesterday : 4602 Total : 1187171

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소