<@U0A71G31CDV> Starrocks에서 특정쿼리가 얼마정도의 리소스를 사용했고, ...
# questions-and-troubleshooting
s
@Rocky Starrocks에서 특정쿼리가 얼마정도의 리소스를 사용했고, 어느정도 걸렸는지 확인하고싶은데 히스토리를 확인할 방법이 있을까?
r
StarRocks에서 특정 쿼리의 리소스 사용량과 소요 시간을 확인하는 방법은 크게 3가지가 있습니다. 1. Audit Log 확인 (가장 일반적인 이력 확인 방법) StarRocks는 모든 쿼리 실행 이력을 FE(Frontend)의 *audit log*에 기록합니다. * 로그 위치:
fe/log/fe.audit.log
* 기록 항목: * `QueryTime`: 전체 소요 시간 (ms) * `CPUCostNS`: CPU 사용 시간 (나노초) * `MemCostBytes`: 메모리 사용량 (바이트) *
ScanBytes
/ `ScanRows`: 스캔한 데이터 양 및 행 수 * `Stmt`: 실행한 SQL 문 * 활용 팁: AuditLoader 플러그인을 설치하면 이 로그를 StarRocks 내부 테이블로 자동 적재하여 SQL(`SELECT`문)로 편리하게 조회할 수 있습니다. 2. Query Profile 확인 (상세 분석) 특정 쿼리가 내부적으로 어떻게 리소스를 썼는지(어떤 연산자에서 시간이 오래 걸렸는지 등) 아주 상세하게 보고 싶을 때 사용합니다. * 설정 방법: 쿼리 실행 전 `SET enable_profile = true;`를 실행합니다. * 확인 방법: 1. FE 웹 UI:
http://<FE_IP>:<FE_HTTP_PORT>/query
에 접속하여 해당 쿼리의 Profile을 시각적으로 확인할 수 있습니다. 2. CLI: 쿼리 실행 후
get profile for '<query_id>';
명령어를 통해 텍스트 형태로 확인할 수 있습니다. 3. 실시간 리소스 모니터링 (현재 실행 중인 쿼리) 지금 돌고 있는 쿼리가 리소스를 얼마나 먹고 있는지 확인하려면 다음 명령어를 사용합니다. * 현재 FE 쿼리 확인:
Copy code
sql
    SHOW PROC '/current_queries';
* 전체 클러스터 쿼리 확인 (v3.4 이상):
Copy code
sql
    SHOW PROC '/global_current_queries';
이 명령어를 통해
CPUTime
,
MemoryUsage
,
ExecTime
,
ScanBytes
등을 실시간으로 볼 수 있습니다. 요약하자면: 과거 이력을 SQL로 편하게 조회하고 싶다면 AuditLoader 설치를 권장하며, 특정 쿼리의 성능 병목을 잡고 싶다면 *Query Profile*을 활성화해서 확인해 보시기 바랍니다. References • faq/operation_maintenance_faq.md • administration/management/logs.md • administration/management/audit_loader.md • administration/sql_digest.md