Какая магия стоит за огромным увеличением скорости записи драйверами Intel RST вплоть до версии 11.2.0 включительно?
Я провел некоторые измерения производительности моего приложения, которое очень сильно записывает на жесткий диск (это косвенно заставляет FlushFileBuffers
в очень узком цикле).
Тестирование проводилось в разных средах, а также с разными драйверами.
результаты:
в средах с вышеупомянутыми драйверами RST "общая" производительность приложения в 5 раз выше по сравнению с другими средами, в которых:
- HDD работает в устаревшем режиме IDE
- AHCI с общими драйверами Microsoft
- AHCI с драйверами Intel RST позже, чем 11.2.0
,
Теперь есть одно интересное наблюдение:
в окнах можно отключить очистку write-cache buffer flushing
, например, для тестирования.
с этой настройкой производительность систем с любым драйвером идентична производительности с RST "11.2.0"!
Итак, возникает вопрос:
из-за очень похожей производительности можно предположить, что эти старые драйверы RST unintentionally
также отфильтровывают FlushFileBuffers
.
и, следовательно, улучшение производительности скорее by accident
чем с помощью логики умного драйвера ...
в противном случае: почему "более поздние" драйверы RST (такие как 11.7 или 12.9) больше не имеют такой хорошей производительности записи?
,
PS:
как узнал fernando
на http://www.win-raid.com/t25f23-Which-are-the-quot-best-quot-Intel-AHCI-RAID-drivers.html:
- классические драйверы RST (до 11.2.0) состоят из одного драйвера "iaStor.sys".
- Драйверы RST нового поколения состоят из «iaStorA.sys» и добавления "Драйвер фильтра SCSI".
и в моем тестировании эти новые драйверы RST больше не показывают каких-либо улучшений производительности с этим конкретным приложением.