반응형

> Link : http://support.microsoft.com/kb/328551/

SQL Server 2000에서 tempdb 경합을 경험하신 DBA라면 추적 플래그 -T1118 에 대하여 알고 계실 겁니다.


추적 플래그 1118은 SGAM contention을 감소시키기 위하여 사용하는 추적 플래그입니다. (참고로 Shared Global Allocation Map 하나에 64000 개의 mixed extent들의 상태 정보가 기록됩니다.)

큰 규모의 시스템에서 빈번하게 호출되는 저장 프로시저들에 임시 테이블과 인덱스를 만드는 DDL 문이 포함되어 있다면 SQL Server 2005에서도 추적 플래그 1118 이 필요하다고 합니다. tempdb 경합이 심하게 발생하면 시스템이 응답하지 않는 것과 같은 심각한 상황이 발생할 수도 있으므로 DBA는 이 내용에 대해 사전에 인지하고 있는 것이 좋습니다.

1. SQL Server 시작 옵션에 추적 플래그 -T1118을 추가합니다.
2. 프로세서의 수와 동일한 숫자만큼 tempdb 데이터 파일 수를 늘립니다. 이 때 tempdb 데이터 파일의 크기는 모두 동일하게 만듭니다. 가령 8 CPU 서버라면 동일한 크기의 tempdb 데이터 파일을 8개가 되도록 데이터 파일을 추가합니다. 로그 파일은 하나인 상태 그대로 유지합니다.
3. 계획휴지 시에 SQL Server를 재시작합니다.

tempdb 성능에 관심 있으신 분은 다음 기술 문서를 꼭 읽어 보세요. 실제로 튜닝 컨설팅을 수행하면서 국내의 대용량 OLTP 시스템들의 경우에 근본적인 튜닝은 저장 프로시저에서 임시 테이블을 사용하지 않도록 수정하여 성능을 개선하였지만, 소스 수정 전에 임시로 tempdb 경합을 완화시키는데에는 추적 플래그 1118 과 tempdb 다중 데이터 파일 구조가 도움이 되었습니다.
반응형

+ Recent posts