SQL Server 2016 Larger Data File Writes

 

  • Version : SQL Server 2016

 

SQL Server의 WriteFileGather는 대량의 데이터파일 쓰기 요청에 사용된다. 이 로직은 더티페이지를 싱글 I/O 요청에 통합하는 것이다. 예를 들어 페이지 1:13과 1:12는 더티페이지로 하나의 WriteFileGather 작업에 통합한다.

 

SQL Server 2012 and 2014에서연속 블록을 만들려면 32페이지또는 그 이상 더이페이지에 대해 해시룩업(Hash lookups)을 수행한다.

  • Is Page 1:14 in memory (hashed) and dirty NO – End forward search for near pages
  • Is Page 1:12 in memory (hashed) and dirty YES – Include in write request
  • Is Page 1:11 in memory (hashed) and dirty NO – End of backward search for near pages

     

10년 이상의 하드웨어에서는 64K 또는 128K 에서 가장 잘 수행된다. 일부 새로운 SSD 및 플래쉬에서는1MB ~ 4MB 내부 블록킹 사이즈를 가지고 있다. 데이터파일의 전체 크기를 늘리면 확장성 및 성능이 향상되어 신속하게 읽기(Read), 수정(Modify), 쓰기(Write) 동작을 기록 한다.

 

SQL Server 2016(X64 Installations)에서8K 페이지를32페이지에서 128(1MB)페이지로 연속적으로 증가시킬때 (Lazy, Checkpoint, select into, create index and bulk insert write 작업등) 이러한 쓰기 작업은 데이터파일 쓰기 작업의 95%+ 를 차지한다. SQL Server 2016 데이터베이스에서는 하드웨어 확장을 통해 파일의 쓰기 동작을 증가시킨다.

 

[참고자료]

https://blogs.msdn.microsoft.com/psssql/2016/04/15/sql-2016-it-just-runs-faster-larger-data-file-writes/

 

 



강성욱 / 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 1290
2086 백업 파일 복원과 3241 오류 (Microsoft® SQL Server® Backup to Microsoft Azure®Tool 사용) jevida(강성욱) 2017.05.31 3190
2085 In-Memory OLTP를 사용할 때 체크포인트 파일이 너무 많아 지는 이유 jevida(강성욱) 2017.05.31 2724
2084 메모리 최적화 테이블변수와 701 오류 (loop 사용으로 인한 메모리 부족 오류) jevida(강성욱) 2017.05.31 3407
2083 메모리 최적화 테이블에서 해시 인덱스 사용시 버킷 카운트의 중요성 jevida(강성욱) 2017.05.31 3055
2082 인덱스 리빌드시 병렬로 실행계획이 생성되지 않는 이유 jevida(강성욱) 2017.03.13 5019
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 3186
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 2936
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 5071
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
2070 SQL Server 2016 Multiple Log Writer Workers jevida(강성욱) 2017.01.11 3869
» 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 3166





XE Login