Дата  Запланированые курсы
24.11 Linux-MP. Модульная программа «Архитектура и администрирование Linux»
24.11 Linux-LE. Основы архитектуры и администрирования Linux
26.11 Поисковая оптимизация (SEO)
26.11 Средства растровой графики. Adobe Photoshop
26.11 Управление проектами (MS Project)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа II)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа I)
28.11 CORTEX-M-MP. Введение в технологии разработки систем управления на базе МК с RISC ядром ARM Cortex-M
28.11 CORTEX-M-INTRO. Введение в современную микроконтроллерную технику
03.12 Трёхмерное моделирование. 3ds Max
03.12 Компьютерное проектирование в системе AutoCAD (базовый курс)
03.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++
07.12 DEV-PY200. Объектно-ориентированное программирование на языке Python
10.12 Основы создания веб-сайтов. Adobe Dreamweaver
10.12 Поисковая оптимизация (SEO) для профессионалов
10.12 Средства векторной графики. Adobe Illustrator
12.12 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
12.12 CORTEX-M-RISC. RISC-архитектура ARM Cortex-M в микроконтроллерах
17.12 MOC-20762. Разработка баз данных SQL
17.12 Работа в MS Excel. Расширенные возможности
17.12 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
17.12 Adobe After Effects. Создание анимации и эффектов
09.01 DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
16.01 CORTEX-M-STM32F. Семейство МК компании ST Microelectronics STM32Fxxx с вычислительным ядром ARM Cortex M3
19.01 Linux-LF. Расширенное администрирование ОС Linux
04.02 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
13.02 CORTEX-M-RTOS. Разработка управляющих программ для МК систем управления с использованием многозадачных ОС реального времени
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
20.03 NET-DLINKSW-LAB. Технологии коммутации современных сетей Ethernet. Лабораторный практикум
Открыт набор на осенний семестр в Академию информатики для школьников Открыт набор на осенний семестр на программы второго высшего образования
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

sql server 2008 r2 I/O default block size 8K or 64
Shek
#1 Оставлено : 3 марта 2011 г. 16:22:16(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 09.02.2009(UTC)
Сообщений: 146
Баллов: 438
Откуда: Russia Питер

Здравствуйте!
Все утро сегодня ищу ответ на вопрос какой же все-таки по умолчанию размер блока данных, которыми sql server пишет на диски, 8К или 64К. Подскажите, пожалуйста, где это можно посмотреть и желательно жестко задать? Или сервер может быть сам выбирает размер в зависимости от, например, размера кластера при форматировании диска в NTFS?
Здесь (www.sqlservercentral.com/blogs/sqlmanofmystery/archive/2010/01/04/fundamentals-of-storage-systems-stripe-size-block-size-and-io-patterns.aspx) наглядно показана существенная разница, поэтому и встал такой вопрос, помогите разобраться.
Реклама
Alexander.Kudakov
#2 Оставлено : 3 марта 2011 г. 21:47:56(UTC)
Ранг: Администратор

Группы: Администраторы, Модераторы, Зарегистрированные пользователи
Зарегистрирован: 15.12.2002(UTC)
Сообщений: 2,418
Баллов: 7,303
Откуда: Russia Санкт-Петербург

Поблагодарили: 4 раз в 4 постах
мне помнится что IO происходит относительно extent-ов т.е. 64к

??? msdn.microsoft.com/en-us/library/dd758814(SQL.100).aspx
Alexander.Kudakov
#3 Оставлено : 3 марта 2011 г. 21:52:57(UTC)
Ранг: Администратор

Группы: Администраторы, Модераторы, Зарегистрированные пользователи
Зарегистрирован: 15.12.2002(UTC)
Сообщений: 2,418
Баллов: 7,303
Откуда: Russia Санкт-Петербург

Поблагодарили: 4 раз в 4 постах
SQL Server stores its data in Extents, which are groups of eight 8K pages. Therefore, to optimize disk performance, set the NTFS Allocation Unit size to 64KB as described in the “Disk Configuration Best Practices” section of the SQL

msdn.microsoft.co...s/library/cc966412.aspx


З.ы. версия MS SQL не имеет значения -- хоть 2000 хоть 2008r2 - архитектура одинаковая
Shek
#4 Оставлено : 3 марта 2011 г. 22:04:34(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 09.02.2009(UTC)
Сообщений: 146
Баллов: 438
Откуда: Russia Питер

Большое спасибо!
Eugene.Norka
#5 Оставлено : 3 марта 2011 г. 22:14:50(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 28.01.2005(UTC)
Сообщений: 52
Баллов: 156
Откуда: Russia СПб

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 3 раз в 3 постах
Да, в блогах так и пишут: "SQL Server is going to do disk I/O in 64K chunks. Forget anything else you've read about NTFS, use 64K clusters. And try to keep everything except SQL files off the SQL disks. SQL Server's units of data storage are 8K pages in 64K extents. If there is some reason you can't use 64K clusters, use the largest you can down to 8K."
PS Я тестировал как-то на разных размерах кластера, существенной разницы в производительности не заметил.
Shek
#6 Оставлено : 3 марта 2011 г. 22:19:31(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 09.02.2009(UTC)
Сообщений: 146
Баллов: 438
Откуда: Russia Питер

Я наоборот заметил очень сильную, вот тут отписался - forums.avalon.ru/...topic.asp?TOPIC_ID=10677
Eugene.Norka
#7 Оставлено : 4 марта 2011 г. 15:46:46(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 28.01.2005(UTC)
Сообщений: 52
Баллов: 156
Откуда: Russia СПб

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 3 раз в 3 постах
На днях потестирую на своем обрудовании, отпишусь в "вашу" тему. Не очень понятно, то есть вы получили разницу в потоковой скорости 50-60 Мбайт/сек vs 250-350 Мбайт/сек только за счет изменения размера кластера? Там во второй статье в основном речь идет о смещении раздела (Partition Offset).. Кэш на СХД имеется (отключен/включен)?
Shek
#8 Оставлено : 4 марта 2011 г. 16:40:02(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 09.02.2009(UTC)
Сообщений: 146
Баллов: 438
Откуда: Russia Питер

Именно так, только за счет изменения размера кластера при форматировании NTFS. На смещение я не обращал внимание, так как там же и написано, что Windows Server 2008 по умолчанию делает смещение в 1Мб, что выравнивает любые конфигурации блоков рейдов и NTFS.
Вообще схема такая:
Один сервер с 4 дисками SAS 15к 6G, RAID контроллер Perc H700 1G NV-cache
Из 1-го и 2-го диска создан RAID1, также из 3-го и 4-го (в обоих случаях adaptive read ahead, write back, 64K stripe, собственно, эти настройки по умолчанию и не менялись)
На первый RAID поставлена система, второй пустой.

Так вот в первом случае диск на втором RAID'е был отформатирован в NTFS 4К и скорость копирования с системного диска на этот была 50-60, иногда 100.
Во втором случае диск на втором RAID'е был отформатирован в NTFS с кластером 64К и при копировании с системного диска средняя скорость стала 250-350.

Хотя вот я сейчас опять задумался, а ведь системный диск в любом случае отформатирован с размером кластера 4К... Но вот по факту что имею, то говорю.
Eugene.Norka
#9 Оставлено : 9 марта 2011 г. 19:00:19(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 28.01.2005(UTC)
Сообщений: 52
Баллов: 156
Откуда: Russia СПб

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 3 раз в 3 постах
Ну что же, провел быстрое тестирование на своем оборудовании. Диски были подготовлены таким же образом, как и в вашем случае, кэш на СХД отключен. Никакой разницы при копировании с системного диска на диск, отформатированный в размер кластера 4К и на диск в 64К замечено не было (скорость трансфера в обоих случаях ~ 100 МБ/с). Притом, после первого прохода – скорость действительно увеличилась (на пике до 900 МБ/с!), но при копировании других файлов был получен первоначальный результат (налицо кэширование данных самой ОС). При этом, операции копирования в обратную сторону (с SAN диска на системный) проходят так же. Результаты синтетических тестов SQLIO и SQLIOSIM также различаются в рамках погрешности.
liables
#10 Оставлено : 9 апреля 2011 г. 13:52:11(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 09.04.2011(UTC)
Сообщений: 2
Баллов: 6

Спасибо большое за советы)) Парочка очень даже помогла

______________
чердачные лестницы на заказ.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.