TempDB 의 성능 최적화를 통하여 SQL 서버의 성능을 향상시키자

1
0

SQL Server 에서는 TempDB 가 매우 중요한 역할을 합니다.

이름만으로 보면 임시DB로 보일수도 있어 보이지만, 하는 역할은 어마 어마 합니다.

조인한 쿼리의 중간결과를 저장하거나, 해쉬테이블을 만든다던지

정렬을 한다던지 하는 등등의 역할이죠

데이터양이 매우 크거나, 쿼리복잡도가 높은 경우

TempDB 의 성능이 해당 시스템의 성능을 좌우 할 수 도 있습니다.

MicroSoft 의 권고사항은 가장 디스크가 빠른 곳에, 다른 DB와 다른 위치로 두는 것을 권장하고 있습니다.

이번은 추가와 확장에 대해서만 이야기 하고, 경로변경은 다음 글에 다두도록 하겠습니다.

그런데 SQL Server 는 대부분 방치하는 곳이 많은지라 조치를 안하죠 🙂

우선 TEMPDB 를 확장을 해보겠습니다.

아래의 수치는 정확한 기준값은 아니고, 보통 이정도 하신다라고 생각하면 될 것 같습니다.


SSMS 를 열어서 왼쪽 개체탐색기 -> 데이터 베이스 -> 시스템 데이터 베이스 ->tempdb -> 속성으로 들어갑니다.

그리고 초기값을 적절히 늘려줍니다.

어느정도 기준값이 필요하지만 저는 500MB 를 기본으로 잡습니다.

로그의 초기값 역시 적절히 늘려줍니다.

그리고 자동증가의 버튼을 클릭 해 줍니다.

그리고 나타나는 파일증가에 MB 단위 200MB 정도로 설정을 합니다.

로그 파일 역시 파일증가를 시킵니다.

로그파일은 500MB 로 설정하여 초기값과 동일하게 잡습니다.

그리고 확인 버튼 이후 추가를 눌러서

추가가 되면 초기값 역시 위와 같이 500MB 증가값 역시 200MB 로 설정을 합니다.

초기값을 똑같이 해주는 것은 소프트웨어의 RAID 원리와 같다고 생각하시면 됩니다.

나누어서 보관하기때문에 병렬적인 처리가 가능해지죠

이 TEMPDB 확장을 CPU Core 개수의 1/4 ~ 1/2 까지 적절히 설정을 합니다.

(최소 4개 이상 )

이 수치는 어느정도가 적당한지 이슈가 되고 있지만 확장이 유리한 것은 확실한 부분이죠

예전에는 CPU 또는 CORE 개수 만큼 할당 했으나, 요즘은 1/2 정도나 그 이하 수치로 많이들 하고 있습니다.

그리고 추가가 완료가 되면,


스크립트 버튼을 누른뒤, 현재의 창을 취소를 누릅니다.

바로 확장을 하지 않고 스크립트로 수행을 하고자 함인데요.

UI로 확장 시 문제 발생할 경우 대처가 쉽지 않을 수 있어서, 중지버튼을 누를 수 있도록 하게 하기 위함 입니다.

이렇게 스크립트가 나오게 되면 F5 버튼 또는 실행 버튼을 눌러서 수행 할 수 있습니다.

위와 같이 MB 단위와 GB 단위도 숫자로 지원을 합니다.

기본 값이 KB 이지만, 크기값을 숫자및 문자를 모두 지원합니다.

TEMPDB는 특성 상 자동으로 확장이 되고 사용이 종료가 되면, 자동으로 축소가 됩니다.

사용량이 매우 많은 시스템인 경우 TEMPDB 확장을 했다가, 디스크가 꽉차는 경우도 생길 수 있습니다.

위 그림에 보이는 자동증가 사용을 체크해제 하면 현재 지정된 크기까지만 TEMPDB를 채울 수 있고,

최대 크기를 설정 하면 최초값에서 최대 크기까지 증가 할 수 있습니다.

디스크가 신경쓰인다면 옵션도 활용을 ^__^



총 0개 내용
의견 쓰기

쉐어드IT의 가입은 쉽고 간단합니다. 지금 하시고 IT관리자들과 의견을 함께 나누세요