NTFS Last Access Time: можно было и не мерять

Ибо десятиминутное ознакомление с темой даёт возможность понять, что разработчики NTFS — не идиоты.

How NTFS Works

В частности:

The Last Access Time on disk is not always current because NTFS looks for a one-hour interval before forcing the Last Access Time updates to disk. NTFS also delays writing the Last Access Time to disk when users or programs perform read-only operations on a file or folder, such as listing the folder’s contents or reading (but not changing) a file in the folder. If the Last Access Time is kept current on disk for read operations, all read operations become write operations, which impacts NTFS performance.

Note

  • File-based queries of Last Access Time are accurate even if all on-disk values are not current. NTFS returns the correct value on queries because the accurate value is stored in memory.

В переводе на русский: если у вас идёт сплошной поток запросов на чтение, LAT на диск просто не пишется. Чтобы заставить драйвер NTFS сбрасывать LAT на диск несмотря ни на что, надо в течение весьма длительного времени развлекать себя непрерывным чтением с диска мелких файлов — да и после этого не забывать про очередь команд и отложенную запись винчестера.

И только чтением, потому что любая пользовательская операция записи вызовет обновление MFT сама по себе, при этом драйвер сбросит туда свежее значение LAT — и не будет трогать его следующий час. И файлы должны быть разные, потому что если дёргать один и тот же, за час LAT для него запишется не столько раз, сколько вы его дёргали, а ровно один.

Короче, степень сферичности коня понятна?..

Permalink

2 Responses to NTFS Last Access Time: можно было и не мерять

  1. Partner says:

    Оттуда же:

    If you have an NTFS volume with a high number of folders or files, and a program is running that briefly accesses each of these in turn, the I/O bandwidth used to generate the Last Access Time updates can be a significant percentage of the overall I/O bandwidth.

Добавить комментарий