Прежде всего, спасибо Microsoft за изобретение файловой системы NTFS. Это действительно очень надежная файловая система с мощными функциями.
Кластер — это основная единица дискового ввода-вывода для чтения и записи (это единица распределения в NTFS).
Сегодня мы поговорим о темах, связанных с размером кластера NTFS в хранилище данных SQL Server. NTFS по умолчанию будет использовать кластеры размером 4 КБ при форматировании разделов, размер которых превышает 2 ГБ, что в основном соответствует размеру кластера большинства современных жестких дисков. Дефрагментацию можно использовать, если размер кластера не превышает 4 КБ.
Размер кластера NTFS можно установить от 512Б до 64КБ. Разумеется, его необходимо указать при форматировании, иначе его нельзя будет изменить. Если кластер слишком мал, использование пространства высокое, но таблица разделов велика, фрагментов много, а производительность низкая. Если кластер слишком велик, использование пространства низкое, но фрагментов мало; и исполнение хорошее. Таким образом, 4 КБ — распространенный выбор.
Сегодняшние жесткие диски имеют емкость в несколько сотен ГБ, поэтому свободное место больше не является проблемой. Однако дисковый ввод-вывод всегда был узким местом производительности. Чтобы увеличить скорость чтения и записи на диск, каждый ломал голову. В любом случае, пока выбран жесткий диск, изменить его физическую конструкцию кажется невозможным, и это не рекомендуется. Поэтому мы можем начать только с других мест, например, с использования RAID-массива, частой дефрагментации, использования чипов, хорошо. дата-кабели и т. д., используется все, что можно.
Сервер SQL Server — это приложение с высокими требованиями к вводу-выводу. Основной единицей чтения и записи файлов данных является страница. Размер каждой страницы составляет 8 КБ. 8 последовательных страниц образуют область, которая обычно составляет 64 КБ. файлы данных. Все они относительно большие, и в обычных производственных средах обычно их размер составляет несколько ГБ и более. И, по сути, никто не будет дефрагментировать хранилище SQL Server, поэтому мы можем отформатировать раздел диска, выделенный для хранилища SQL Server, в кластер размером 64 КБ, что может повысить производительность без потери места.
Есть ли какие-либо риски? Конечно, при сбое диска потери данных могут быть немного больше, по крайней мере, 64 КБ. Однако практика показала, что это решение все же вполне осуществимо, поскольку блоки RAID-массивов обычных серверов также имеют размер 64 КБ. И то, и другое не имеет значения. не имеет значения, если это 64 КБ.
Вы также можете обратиться к другим сценариям применения. Если есть какие-либо ошибки, вы можете их покритиковать.
Автор статьи: gytnet
Источник этой статьи: http://www.cnblogs.com/gytnet/archive/2009/12/21/1628561.htm.