유돌이

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2019. 10. 11. 10:26 유닉스*리눅스*SE

slow_query_log=1

=> 슬로우쿼리는 남기도록 하는 설정 입니다. (1 :  enable, 0 : disable)

 

log_query_time=2

=> 단위는 초단위이며, 쿼리가 2초이상 걸린 경우 로그로 남갑니다. 기본은 10초입니다.

 

log_slow_queries=var/log/mysql_slow.log

=> 슬로우쿼리가 저장될 공간을 설정합니다.

 

slow_qurey_log=on

=> 슬로우쿼리 설정유무를 나타냅니다. (on/off)

 

long_query_time=5.000000

=> 슬로우쿼리 구분기준(5초로설정) 입니다. 설정하지 않으면 기본값 10초로 동작합니다.

 

해당 내용을 수정후 mysql 재시작하면 적용됩니다.

( service mysql restart )

 

=========================================================================================
[로그 보는법]

  Query_time : 7.359190
  쿼리가 실행된 시간입니다. 2초 이상으로 설정했으므로 7.3초가 걸린 쿼리가 로그에 남아있습니다. 시스템에 따라 쿼리 내용에 따라 해당 시간이 오래 걸린다고 판단할 수도 있고 아닐 수도 있습니다. 시스템 성격이나 쿼리 성격에 비추어 해당 쿼리를 판단하면 됩니다.

 

  Lock_time : 0.000054
  쿼리가 실행되지 못하고 lock되어 있는 시간을 나타냅니다. 쿼리 실행 시간 중 상당 부분이 lock 시간인 경우 쿼리 자체의 문제보다 구조적인 문제에 초점을 맞춰야 합니다. lock이 걸리는 원인을 찾아 제거하면 쿼리 속도를 올릴 수 있습니다.

 

  select count(*) from Table_a;
  실제로 오래 걸린 쿼리문입니다. 해당 쿼리문에 문제가 있는지 점검하여 개선할 수 있습니다. 쿼리 개선은 쿼리 자체의 문법 수정도 있겠지만 테이블 스키마 변경, DBMS 설정 변경 등에 의해서 수행될 수 있습니다. 쿼리 개선의 경우는 상당히 많은 내용이 있으므로 따로 작성할 필요가 있습니다.

posted by 유돌이