Асинхронный ввод/вывод

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 24 ноя 2004, 15:46

Только вот  там два параметра:
UserSelected CaheLineSize
Active CacheLineSize

Ху из ху?

Значение 64к доступно.
По умолчанию 8к

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 24 ноя 2004, 16:09

Надо чтобы active был 64к. Это иногда с геморроями включается.

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 24 ноя 2004, 16:17

gs писал(а):Надо чтобы active был 64к. Это иногда с геморроями включается.
все в порядке С этим уже разобрался.
Что же получается при каждом запросе на чтение СУБД например запрашивает блок 4к, файловая система например считывает блок 8к при этом контроллер на самом деле считывает 64к?
СУБД и файловую систему легко согласовать.
Но вот с контроллером. Неужели получется быстрее, если только мы не подряд читаем?

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 24 ноя 2004, 16:43

Прошу прощения, ссылки не дам - запамятовал...В KnowledgeBase поискать можно. NTFS работает блоками по 64К ;) Имеется в виду не размер сектора, а именно - разовый обмен с физ. драйвом.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 24 ноя 2004, 16:50

Контроллеру в достаточной мере без разницы сколько килобайт читать. Самый долгий процесс - позиционирование головки диска. Зато если уж она встала на дорожку, то разница между 4к и 64к будет пренебрежимо мала.
А вообще, теория теорией, а как программеры фирмварь написали, так оно и будет. А писали они под дефолтные 64к :)

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 24 ноя 2004, 19:44

a_shats писал(а):Прошу прощения, ссылки не дам - запамятовал...В KnowledgeBase поискать можно. NTFS работает блоками по 64К ;) Имеется в виду не размер сектора, а именно - разовый обмен с физ. драйвом.
То есть отформатировал я диск с блоком 512, а NTFS будет читать по 64к?
И еще вопрос, тут меня один товарищ убеждает, что NTFS по умолчанию не использует кеширование. Так ли это?

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 24 ноя 2004, 19:48

Виндовое кэширование включается-выключается в свойствах физического диска. Но не всегда его можно включить - при установке AD она под собой кэш на запись запрещает. Но на чтение кэш все равно работает.

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 24 ноя 2004, 20:02

gs писал(а):Виндовое кэширование включается-выключается в свойствах физического диска. Но не всегда его можно включить - при установке AD она под собой кэш на запись запрещает. Но на чтение кэш все равно работает.
Понятно, большое спасибо.

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 25 ноя 2004, 13:07

gs писал(а):Виндовое кэширование включается-выключается в свойствах физического диска. Но не всегда его можно включить - при установке AD она под собой кэш на запись запрещает. Но на чтение кэш все равно работает.
насколько я понял из:
http://support.microsoft.com/default.as ... -us;101670
http://support.microsoft.com/default.as ... -us;233541
http://msdn.microsoft.com/library/defau ... 1_iyug.asp

Винды на NTFS постоянно используют кеширование на чтение и запись при этом ведя журнал транзакций файловой системы.
А вот опция в свойствах физ диска включает\выключает кеширование средствами самого диска.

И не похоже что бы можно было это как-нибудь отключить.
Поправтье меня если наврал.

Аватара пользователя
Vasya76
Advanced member
Сообщения: 80
Зарегистрирован: 26 ноя 2003, 18:42

Сообщение Vasya76 » 26 ноя 2004, 10:44

Обойти кеширование в NTFS можно только открыв файл инструкцией
CreateFile() с опцией FILE_FLAG_NO_BUFFERING. Похоже, что Оракл например, так и делает. В остальных случаях согласно MSDN кеширование будет иметь место для всех операций с файлом.

Ответить

Вернуться в «Серверы - ПО, Windows система, приложения.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 36 гостей