현재 서버 변경하고 db업그레이드 후 운영중인 장비에서 일어나는 문제입니다.
Page life expectancy가 평상시는 7-8,000이상 유지되다가 어느 시점에 갑자기 100이하로 떨어지면서
SQL서버가 전체적으로 성능이 떨어집니다. 쿼리가 실행결과가 전체적으로 조금씩 느려집니다.
이게 서비스가 제일 붐비는 시간대에 일어나는 것도 아니고 불특정한 시간에 일어납니다.
이런 경우에는 어떤 부분을 좀더 유심히 보거나 모니터링을 해야 할까요?
도움 부탁드리겠습니다.
Comment 4
-
이리
2017.06.20 18:32
-
niceman5
2017.06.23 10:33
메모리는 32G를 사용하는데 SQL서버에서 기본으로 29G쯤 사용하게 되어 있습니다. 서버가 그렇게 바쁜건 아니구요.
PLE가 100이하에서 0으로 가면서 DB가 많이 느려지는데 뭘 봐야 할지 모르겠습니다,
-
자리비움
2017.06.23 14:45
PLE 수치가 줄어드는 이유는 SQL Server 메모리 영역 중 버퍼 풀의 여유가 부족해지기 떄문입니다.
(부족이라는 표현이 맞을지는 모르겠습니다만)
왜 부족해지는지에 대한 원인부터 알아보시는게 우선이겠지만,
대비 방법 중의 하나로 위에 이리님이 말씀하셨던 구성 옵션 설정의 min/max 메모리, lpim 설정입니다.
우선 먼저 확인해보셔야 할 것은..
- 서버 (장비) 에서 SQL Server 가 아닌 어플리케이션(들)에서 과도하게 메모리를 사용하는 일은 없는지
- 문제가 발생하는 시점에 부하가 많은 쿼리는 없는지 등을 살펴보시면 됩니다.
-
niceman5
2017.06.28 12:48
일단 자문 자답인거 같네요, 원인은 찾은듯 한데 혹시나 다른분들도 겪을수 있을듯해서 향후 경과 남기겠습니다.
원인은 BPE와 tempdb를 같은 디스크에 선언한것 때문에 그런것 같습니다.
현재 C(SSD RAID) D(SSD) E(15K DISK)구성인데 tempdb부하 분산을 위해 C와 D로 tempdb를 생성했고 D에 BPE를 120G선언
했습니다.
이 설정에서 현재 BPE를 해제하고 모니터링 중인데 일단은 안정적입니다.
향후 tempdb를 D에 설정된 것들을 삭제하고 다시 BPE선언해보고 최종 결과 올리겠습니다.
* 제 예상으로는 BPE로 선언된 디스크에 다른 작업들이 걸리면 DB서버에서 계산해서 가져오는 방식에 좀 문제가 생기는
것으로 추측이 됩니다. 이건 제 개인적인 생각이고 혹시 다른 의견 있으시면 댓글 남겨 주십시오.
메모리가 부족하신건 아닌지..
혹은 MIN, MAX 메모리 설정이 잘못되신건 아닌지 한번 확인해보세요.