SQL Server 2014 VLF 알고리즘 변화
- Version : SQL Server 2014
SQL Server에서 로그 파일은 데이터 파일처럼 익스텐트로 구성되지 않고 가상 로그 파일(Virtual Log File, VLF)로 구성되어 있다. VLF는 로그 파일의 크기에 따라 가변적으로 변하며 SQL Server에 의해 정해진다.
VLF의 최소 단위는 256K이며 트랜잭션 로그가 가장 작은 512K일 때 두 개의VLF가 생성된다.
- 트랜잭션 로그 아키텍처 : http://sqlmvp.kr/140187358202
- VLF 환경과 성능 : http://sqlmvp.kr/140164396941
SQL Server 2014 이전까지 VLF 증가 알고리즘은 사이즈를 기준으로 한다.
- 1MB ~ 64MB : 4개 VLF, 증가 크기는 각각의 약 1/4
- 64MB ~ 1GB : 8개 VLF, 증가 크기는 각각의 약 1/8
- 1GB ~ : 16개 VLF, 증가 크기는 각각의 약 1/6
만약 1GB 기가의 로그파일에서 512MB씩 200GB로 자동 증가 한다면 생성된 VLF는 8 + ((200-1)*2*8) = 3192개가 된다. 로그 파일 증가는 398번이 발생한다. ((200GB -1GB) / 512MB = 398)
SQL Server 2014 부터는 다음과 같이 변경 되었다. 1GB의 로그 파일에 512MB씩 200GB로 자동증가를 가정 하였을 때 초기 8개의 VLF가 생성되며, 로그 증가는 1G, 1.5G, 2G, 2.5G, 3G, 3.5G, 4G, 4.5G까지 총 56개의 VLF가 생성된다. 그리고 로그 증가가 4.5GB 이상일때 4.5GB당 1개의 VLF 가 증가한다. 따라서 (200GB - 4.5GB)*2 = 391 VLF이다. 이를 다 합치면 391 + 56 + 8 = 455 VLF가 생성된다.
455개의 VLF는 3192개의 VLF보다 성능 문제에 훨씬 이점이 있을 것이다. 호환성에 대한 부분에서는 내부 스토리지엔진에 의해 무시 된다.
[참고자료]
2014-01-28 / 강성욱 / http://sqlmvp.kr
SQL Server, SQL 2014, 가상 로그 파일, VLF, Virtual Log File, Transaction Log, 트랜잭션 로그, LDF, 데이터베이스, DBA, 로그축소, DB성능
'SQL Server > SQL Server Tip' 카테고리의 다른 글
백업 확장이벤트로 백업 진행 과정과 소요되는 시간 확인 (0) | 2015.07.16 |
---|---|
SQL Server 2016 설치 (0) | 2015.07.16 |
SQL Server 2014 SSAS 커버로스 구성 관리자 업데이트 (0) | 2015.07.16 |
SQL Server 2014 스토리지 할당 및 메모리 옵티마이즈 테이블 관리 (0) | 2015.07.16 |
SQL Server 2014 리소스 관리자 풀과 CPU 제어 (0) | 2015.07.16 |