컴

mysql 운영팁. 느린 쿼리를 발견하기

· 2015-09-23 (수) 19:20:27 · 3373

웹서비스를 운영하면 항상 체크해주고 관리해줘야 할것들이 정말 많지만,

그중에서도 SQL 최적화 역시 중요한 일입니다.

SQL최적화는 인덱스 생성을 잘 한다거나, 뭐 여러가지 있겠지만

어떤 쿼리가 시스템에 부하를 많이 주는지를 파악하는 것도 중요합니다.

특히나 특정 쿼리가 시스템에 부하를 많이 주게 되면,

다른 요청들이 지연될 수도 있고, 심지어는 CPU사용률이 굉장히 높아져 시스템 전체를 마비시키는 경우도 발생합니다.


그렇다면 어떤 쿼리가 시스템에 부하를 주는지 알아야겠죠?

MYSQL은 이러한 고민을 하고 있는 여러분들을 사랑합니다.(응...?)


mysql에서는 log-slow-queries 환경설정을 통해

몇초 이상 걸리는 쿼리들만 별도로 로그를 남기게 할 수 있습니다.

여러분의 mysql 설정이 담겨있는 my.cnf 파일에 아래의 항목을 추가하세요.

보통은 /etc/my.cnf 위치에 있죠.



long_query_time=3
log-slow-queries=/var/log/mysql/log-slow-queries.log



위의 내용을 적당한 위치에 추가하고 mysql을 restart하면 됩니다.

long_query_time에 정한 시간(초) 이상 걸리는 쿼리들을 내가 정한 파일경로에 기록합니다.

위의 예제로 보면 3초이상 걸리는 쿼리를 /var/log/mysql/log-slow-queries.log에 기록합니다.


|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 15-10-05 조회 2,996
기타 15-10-04 조회 3,171
기타 15-10-04 조회 3,461
기타 15-10-04 조회 3,327
MySQL 15-10-03 조회 6,206
MySQL 15-10-03 조회 4,810
jQuery 15-10-02 조회 3,594
웹서버 15-10-02 조회 4,910
MySQL 15-10-02 조회 3,063
기타 15-10-01 조회 3,131
웹서버 15-10-01 조회 3,666
웹서버 15-10-01 조회 3,136
웹서버 15-10-01 조회 3,638
웹서버 15-10-01 조회 4,647
MySQL 15-09-30 조회 2,811
MySQL 15-09-30 조회 3,714
MySQL 15-09-30 조회 5,665
MySQL 15-09-30 조회 5,279
MySQL 15-09-24 조회 3,390
MySQL 15-09-24 조회 3,116
기타 15-09-24 조회 6,033
MySQL 15-09-23 조회 3,926
MySQL 15-09-23 조회 3,313
기타 15-09-23 조회 3,046
웹서버 15-09-23 조회 3,238
MySQL 15-09-23 조회 4,173
MySQL 15-09-23 조회 3,374
기타 15-09-21 조회 3,640
MySQL 15-09-21 조회 3,390
MySQL 15-09-21 조회 3,154