현재 구성된 웹페이지의 성능이 상당히 느리고, 종종 테이블 락을
잡고 있는 프로세스가 생겨 다른 프로세스들이 sleep이 되는
현상을 보이고 있습니다. 스토어드 프로시저가 10여개 되구요. 주로
가장 많이 사용하는 컨텐츠 테이블에 대해서 엑세스가
집중되어있습니다.
이러한 시스템에서...
데이터베이스 구성에 대한 문제도 있겠지만, 개발자 측면에서는
사용하는 쿼리의 최적화가 얼마나 되어 있느냐가 속도에 가장
큰 영향을 미칠것이라고 생각을 하였습니다.
이러한 이유로 해서 현재 데이터베이스에서 실행되는 SQL 들을
분석해 보고, 프로세스들의 부하도 측정해보고 싶습니다.
제가 알기로는 MS-SQL 같은 경우는 프로파일러 하는 응용프로그램이
있어서 이에 대한 분석을 쉽게 할 수 있다고 들었는데요,
사이베이스에도 이와 같이 프로시저나 쿼리들을 분석하고 가장 많이
사용되는 쿼리 패턴을 찾아서 수정 할 수 있는 방법을 찾고
있습니다.
우선 쿼리로그가 중요할 것 같은데요.
dbcc 등이 로그파일에 그런걸 남긴다고 말을 들은거 같은데요. 지금
현재 로그 파일에는 초당 수개의 에러 메시지들이 들어오고 있어서
따로 sql문장을 저장해서 추출하기가 번거롭고 어려운
실정입니다.
이렇게 시스템에서 수행되고 있는 쿼리패턴이나 쿼리 수행시간 등을
알 수 있는 가장 좋은 방법을 좀 알려주시면 감사하겠습니다.
특별히 스토어드 프로시저의 내용을 볼 수있는 방법도 소개해 주시면
감사하겠습니다.
|