python 에서 broker_log_top 사용을 이용하여 SQL로그 분석 결과를 받아 내었을 경우 이를 사용하는 방법을 전달한다.
위의 문서를 참조하여 SQL로그를 분석한 결과파일은 아래와 같이 두가지 종류로 나타난다.
log_top.res_... 가장 오래걸린 쿼리의 순서대로 정렬된 결과 값
::::::::::::::
log_top.res_broker1_1
::::::::::::::
max min avg cnt(err)
-----------------------------------------------------
[Q1] 12.086 10.574 11.360 3 (0)
[Q2] 10.894 10.894 10.894 1 (0)
...
log_top.q_... 위의 결과 값에 따른 유형(쿼리)
[Q1]-------------------------------------------
broker1_2.sql.log:78363
06/15 19:56:08.580 (1) execute_all srv_h_id 1 select id...
위의 결과에 따라 수행에 오래걸린 [Q1]을 log_top.q_...파일의 [Q1]항목을 참조하여 쿼리 유형을 확인할 수 있다.
broker_log_top을 수행할 때 기간을 정해서 결과 값을 받아 낼 수 있는데 -F옵션과 -T옵션입니다.
사용예는 아래와 같습니다
$broker_log_top -F 0617 -T 0618 *.sql.log
Tip1. max값을 기준으로 정렬이 되나 cnt를 참조하여 사용 빈도를 확인하고 그에 대한 min값이 오래 걸리는 쿼리를 target으로 확인해 보는 것이 유용하다. 또한 전체적인 쿼리 환경을 재구성하기 위해서는 broker_log_runner 유틸을 이용할 것을 권장한다.
Tip2. broker_log_runner를 사용하기 위해서는 sql.log를 형식에 맞게 변경해 주는 것이 필요하다. 이는 broker_log_converter유틸을 이용한다.
Tip3. broker_log_converter를 이용해서 나온 결과를 토대로 broker_log_runner을 이용하여 분석한다.