SQL Server 2016 Multiple Log Writer Workers

 

  • Version : SQL Server 2016

 

SQL Server 2016에서 소개된 multiple log writer 작업은 최대 4개의 작업자가 로그 쓰기를 가능하도록 확장되었다. 즉 LDF 쓰기 성능이 개선되었다. 수년동안 로그장치는 미디어의 스핀들 및 하드웨어 캐시의 능력에 의해 제한이 있었다. 최근 하드웨어의 발전과 SSD, Flash유형의 스토리지의 성능 발전으로 기존의 로그쓰기를 더 많이 수용할 수 있게 되었다.

 

SQL Server 2016에서는 아래 명령을 사용하여 SQL 서버에서 현재의 로그 쓰기 작업자 수를 확인할 수 있다.

select

    session_id, status, command, scheduler_id, task_address, wait_type

from sys.dm_exec_requests

where command = 'LOG WRITER'

 

 

SQL Server의 Log writer 작업자의 생성수는 SQL Server가 시작될때 하드웨어의 NUMA 노드갯수에 따라 달라진다. 하나의 NUMA 노드가 있는경우 하나의 Log writer가 생성된다. 여러 NUMA 노드 시스템 경우 최대 4개의 log write 스레드가 생성된다.

 

만약 affinity I/O mask가 구성되어 있다면(추천하지는 않음) log writer 스레드는 CPU에 바인딩되어 affinity I/O mask가 구성된다. 그렇지 않으면 log write 스레드는 숨겨진 스케줄러에 의해 분리되어 만들어진다. 숨겨진 스케줄러는 항상 NUMA 노드 0으로 바운드 된다. 이러한 최대 log writer 수는 로그 플러시 큐에 엑세스하는 log writer 작업자의 광범위한 성능 테스트를 기반으로 결정된다.

 

[참고자료]

https://blogs.msdn.microsoft.com/psssql/2016/04/19/sql-2016-it-just-runs-faster-multiple-log-writer-workers/

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1240
2086 백업 파일 복원과 3241 오류 (Microsoft® SQL Server® Backup to Microsoft Azure®Tool 사용) jevida(강성욱) 2017.05.31 3188
2085 In-Memory OLTP를 사용할 때 체크포인트 파일이 너무 많아 지는 이유 jevida(강성욱) 2017.05.31 2723
2084 메모리 최적화 테이블변수와 701 오류 (loop 사용으로 인한 메모리 부족 오류) jevida(강성욱) 2017.05.31 3406
2083 메모리 최적화 테이블에서 해시 인덱스 사용시 버킷 카운트의 중요성 jevida(강성욱) 2017.05.31 3055
2082 인덱스 리빌드시 병렬로 실행계획이 생성되지 않는 이유 jevida(강성욱) 2017.03.13 5018
2081 SQL Server 833오류 (15 Sec Slow IO Detected) jevida(강성욱) 2017.03.13 4471
2080 SQL Server nonpreemptive 모드에서Long Sync IO 오류 jevida(강성욱) 2017.03.13 3185
2079 SQL Server DTC Transaction의 SPID = -2 반환 jevida(강성욱) 2017.03.13 2433
2078 SQL Server Read/Writer 동기화 작동 원리 jevida(강성욱) 2017.03.13 2804
2077 SQL Server가 논리 및 물리 프로세서를 결정하는 방법 jevida(강성욱) 2017.03.13 2935
2076 데이터베이스에서 사용자 삭제 오류 jevida(강성욱) 2017.03.13 2853
2075 SQL Server ODBC Driver 및 Command package Tool 설치 jevida(강성욱) 2017.01.11 4807
2074 SQL Server Install on Linux (Ubuntu – 16.0.4) jevida(강성욱) 2017.01.11 5070
2073 SQL Azure blob storage 백업을 위한 프록시 세팅 jevida(강성욱) 2017.01.11 4260
2072 SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제) jevida(강성욱) 2017.01.11 3356
2071 SQL Server 2016 자동 통계 업데이트 임계값 변경 jevida(강성욱) 2017.01.11 4727
» SQL Server 2016 Multiple Log Writer Workers jevida(강성욱) 2017.01.11 3869
2069 SQL Server 2016 Larger Data File Writes jevida(강성욱) 2017.01.11 3236
2068 SQL Server 2016 향상된 업데이트 스케줄링 알고리즘 jevida(강성욱) 2017.01.11 3691
2067 SQL Server 2016 Automatic Soft NUMA jevida(강성욱) 2017.01.11 3165





XE Login