搜尋本站文章

2017-05-28

[SQL Server][裝機]:格式化資料磁碟,使用 64 KB 的 NTFS 配置單位大小(allocation unit size)


SQL Server  效能最佳化的作法:
在格式化資料磁碟,建議:採取 64 KB 的配置單位大小。

對 NTFS 配置單位大小(allocation unit size) 的建議
產品 磁碟區組態 說明
SQL Server 格式化資料磁碟時,採取 64 KB 的配置單位大小 適用:資料(Data)/記錄(Log)檔案和 TempDB
Exchange Server  格式化資料磁碟時,採取 64 KB 的配置單位大小 適用: edb 和「記錄檔磁碟區(log file volume)」


-- 01_磁碟管理_格式為64K


02_檔案總管_格式為64K




PowerShell:查詢 BlockSize

Get-WmiObject -Class Win32_Volume | Select-Object Label, BlockSize | Format-Table -AutoSize


Get-WmiObject -Class Win32_Volume | Select-Object Label, BlockSize, Name | Format-Table -AutoSize


$wql = "SELECT Label, Blocksize, Name FROM Win32_Volume WHERE FileSystem='NTFS'"
Get-WmiObject -Query $wql -ComputerName '.' | Select-Object Label, Blocksize, Name | Format-Table -AutoSize

-- 03_PowerShell_1


04_PowerShell_2


05_PowerShell_3




DOS 命令列,使用 fsutil,查詢 Byte Per Cluster

語法:fsutil fsinfo drives


fsutil fsinfo ntfsinfo c:


fsutil fsinfo ntfsinfo e:

觀察:「每一叢集位元組數目(Byte Per Cluster)」
4096,為預設值的 4 KB。
65536,格式化為的64 KB。

-- 06_CMD_fsutil


07_CMD_fsutil


-- 08_PowerShell_ISE_fsutil


-- 09_PowerShell_ISE_fsutil





DOS 命令列,使用 DISKPART

DISKPART

LIST VOL

SELECT VOL 4

FILESYSTEMS


PS C:\Users\Administrator DISKPART

Microsoft DiskPart 版本 10.0.14393.0

Copyright (C) 1999-2013 Microsoft Corporation.
在電腦: WIN-7V80TBJSKGH

DISKPART LIST VOL

  磁碟區 ###  Ltr  標籤         Fs     類型        大小     狀態       資訊
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  磁碟區 0     D                       DVD-ROM         0 B  沒有媒體
  磁碟區 1     C   OS           NTFS   磁碟分割         126 GB  良好         開機
  磁碟區 2         修復           NTFS   磁碟分割         450 MB  良好         隱藏
  磁碟區 3                      FAT32  磁碟分割          99 MB  良好         系統
  磁碟區 4     E   Data         NTFS   磁碟分割         126 GB  良好

DISKPART SELECT VOL 4

磁碟區 4 是所選擇的磁碟區。

DISKPART FILESYSTEMS

目前檔案系統

  類型                 : NTFS
  配置單位大小         : 64K
  旗標 : 00000000

支援格式化的檔案系統

  類型                 : NTFS (預設值)
  配置單位大小         : 4096, 8192, 16K, 32K, 64K (預設值)

  類型                 : REFS
  配置單位大小         : 4096 (預設值), 64K

DISKPART


-- 10_DISKPART_LIST_VOL_FILESYSTEMS




快速檢驗,使用 fsutil file createnew 建立檔案

-- 建立新的檔案,指定大小為:1024
fsutil file createnew e:\Blocksize_1K.txt 1024


-- 建立新的檔案,指定大小為:71680 byte
fsutil file createnew e:\Blocksize_70K.txt 71680


觀察

  • 1 KB(1024 byte)檔案,使用磁碟大小為:64 KB。
  • 70 KB(71680 byte)檔案,使用磁碟大小為:128 KB。


71680 = 1024 * 70

-- 11_1K檔案的磁碟大小_64KB


-- 12_70K檔案的磁碟大小_128KB




Azure 虛擬機器中的 SQL Server 效能最佳做法

-- 13_SQL Server 效能最佳做法



Disk Partition Alignment Best Practices for SQL Server

-- 14_Disk Partition Alignment Best Practices for SQL Server



Exchange 2013 儲存裝置組態選項

-- 15_Exchange 2013 儲存裝置組態選項






參考文件

Disk Partition Alignment Best Practices for SQL Server
https://msdn.microsoft.com/en-us/library/dd758814(v=sql.100).aspx

Diskspd Utility: A Robust Storage Testing Tool (superseding SQLIO)
https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223

SQLIO Disk Subsystem Benchmark Tool is being retired
https://blogs.msdn.microsoft.com/sql_server_team/sqlio-disk-subsystem-benchmark-tool-is-being-retired/#.Vm7uZvkrIyg

Microsoft SQL Server
https://support.purestorage.com/Solutions/Databases/Microsoft_SQL_Server

Partition offset and allocation unit size of a disk for SQL Server
https://www.mssqltips.com/sqlservertip/2119/partition-offset-and-allocation-unit-size-of-a-disk-for-sql-server/

在 Windows Server 中使用綜合工作負載測試儲存空間效能
https://msdn.microsoft.com/zh-tw/library/dn894707(v=ws.11).aspx

How Big Are Your Log Writes? Spying on the SQL Server Transaction Log
https://www.brentozar.com/archive/2012/05/how-big-your-log-writes-spying-on-sql-server-transaction-log/

GET CLUSTER SIZE FOR ALL DISKS AND VOLUMES ON A WINDOWS MACHINE USING POWERSHELL AND WMI
https://stuart-moore.com/get-cluster-size-disks-volumes-windows-machine-using-powershell-wmi/

Get Windows NTFS Block Size
https://www.bytesizedalex.com/get-windows-ntfs-block-size/

Exchange 2013 儲存裝置組態選項
https://technet.microsoft.com/zh-tw/library/ee832792(v=exchg.150).aspx

Exchange 2007 磁碟分割設計
https://technet.microsoft.com/zh-tw/library/bb738145(v=exchg.80).aspx

Azure 虛擬機器中的 SQL Server 效能最佳做法
https://docs.microsoft.com/zh-tw/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-performance