Назад | Перейти на главную страницу

Кэширование записи в Windows Server 2012

Из MSDN:

По умолчанию Windows кэширует данные файлов, которые считываются с дисков и записываются на диски. [..] Кэширование управляется для каждого файлового объекта. Политика задержки записи данных в файл и удержания их в кэше до тех пор, пока кэш не будет очищен, называется отложенной записью, и она запускается диспетчером кеша через определенный интервал времени. [..] Время, когда блок данных файла очищается, частично зависит от количества времени, в течение которого он хранился в кэше, и количества времени, прошедшего с момента последнего доступа к данным в операции чтения.

У меня вопрос: сколько времени нужно Windows, чтобы «по-настоящему» записать файл на диск?

Временной масштаб кэширования записи обычно составляет секунды или меньше. Раздел из Руководство по производительности Windows 2000 содержит следующие данные:

Программа Cache Manager документирует ряд констант, которые используются в алгоритме отложенной записи. К ним относятся CcFirstDelay, который задерживает запись на три секунды после их первого доступа; CcIdleDelay, который запускает запись одной секунды в период простоя; и CcCollisionDelay, который запускает 100-миллисекундную задержку, если спекулятивная отложенная запись обнаруживает состояние занятости диска. На момент написания этой статьи неизвестно, были ли эти параметры, управляющие работой диспетчера кэша, перенесены в Windows 2000, но, скорее всего, они были.

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