좀더 효율적인 왕눈이 사용을 위하여 활용편 동영상을 제작하였습니다. 왕눈이를 사용하는 고객분들께 도움이 되었으면 합니다. 왕눈이는 고객과 함께 만들어가는 솔루션입니다. 사용중에 느끼는 불편함이나 기능 개선에 대한 의견을 전달해 주시면 더 나은 왕눈이가 되는데 큰 도움이 될 것입니다. 감사합니다.
※ 모든 동영상은 1,920 X 1,080 해상도로 제작되었습니다.잠금 차단과 같은 차단(Blocking, LiveLock) 이슈로 DB 서비스에 문제를 일으키는 경우가 많이 있습니다. SQLBigEyes Pro에서 이를 위해 지원하는 여러가지 기능들과 활용법을 소개합니다.
빈도가 많거나 과도한 교착상태(Deadlock)는 서비스 안정성에 영향을 줄 수 있습니다. 이를 모니터링하는 방법과 과거 발생한 교착상태를 추적하는 방법 그리고 SQL Server에서 제공하는 여러가지 방법들을 함께 소개합니다.
SQL Server는 기본적으로 행(row) 단위 잠금을 사용하지만 일정 수 이상의 행 변경이 필요하거나 기타 조건을 만족하는 경우 테이블 혹은 파티션(Partition) 전체 잠금을 승격을 시키는 동작을 가지고 있습니다. 그러나 인덱스/쿼리 문제로 인해 불필요하게 그리고 과도한 테이블 잠금 승격이 발생하는 경우에도 해당 쿼리 성능이나 서비스 성능에 영향을 줄 수 있습니다. SQLBigEyes에서는 이를 어떻게 찾아서 처리할 수 있는지 그리고 SQL Server 자체 지원 기능까지 소개합니다.
SQL Server는 사용 가능한 CPU 수를 기준으로 Worker라고 부르는 Thread 수의 최대값이 정해지고 동시에 대량의 요청을 처리하기 위해 해당 Thread가 Pool 기반으로 생성/재사용/소멸 동작을 반복합니다. 고부하 쿼리가 대량으로 처리되는 경우 그 만큼 대량의 Thread가 필요해지면서 서버 성능이나 안정성에 영향을 줄 수 있습니다. SQLBigEyes Pro는 이Worker Thread에 대한 사용량과 경고 처리 그리고 개별 쿼리에 대한 Thread 사용량 모니터링등을 지원합니다.
SQLBigEyes Pro의 핵심 기능으로써, CPU, Parallel, Duration, I/O, Memory, Resouce Wait과 같은 중요 성능 지표를 기준으로 고부하 쿼리에 대한 실시간 모니터링과 더불어 전문적인 진단분석, 튜닝, 문제 해결을 위한 다양한 기능을 제공합니다. 이러한 기능만 적절히 활용하여도 DB 운영 시스템에 대한 모니터링/성능 튜닝/문제 해결에 큰 도움이 됩니다
SQLBigEyes Pro는 중요 경고 이력과 고부하 쿼리 이력을Log DB에 저장하고 이를 조회/분석할 수 있도록 지원합니다. 과거에 발생한 고부하 쿼리에 대한 이력 검색, 특정 기간의 고부하 쿼리 집계 결과, 특정 쿼리 이력 검색 등등의 활용 기능들을 소개합니다.
앞서 살펴본 Worker Thread Pool의 연장선으로 일반적으로 하나의 쿼리를 1개의 Worker Thread를 사용해서 처리합니다. 그러나 손익분석과 같은 통계성 쿼리처럼 대량의 데이터를 검색/조인/집계하는 등의 작업에서는 2개 이상의 Thread를 이용해서 병렬로 처리되는 경우가 많이 있습니다. SQLBigEyes Pro는 이러한 병렬 쿼리에 대한 보다 상세한 모니터링/진단 분석을 지원합니다.
경고 이력과 고부하 쿼리 이력을 저장하는 Log DB를 초기에 생성하는 방법, Config 파일 지정 방법 그리고 Log DB 관리 방법등을 소개합니다.
CPU 등의 리소스 사용량이 적은데도 DB나 쿼리가 느려지는 경우, 갑자기 DB가 느려지는 경우, H/W를 더 좋은 사양으로 업그레이드 했는데도 느려지는 경우, 프로모션/이벤트/시험과 같은 특정 시점의 진단 분석과 튜닝이 필요한 경우 등등에서 리소스 대기 정보는 아주 중요하게 활용됩니다.이번엔 리소스 대기의 정의와 내용 그리고 SQLBigEyes에서 제공하는 기능 활용법을 소개합니다.