Эта функция влияет на производительность файлов с отображением памяти?Does SetFileBandwidthReservation влияет на производительность файлов с отображением памяти?
Вот проблема, мне нужно решить:
У меня есть два приложения, конкурирующих за доступ к диску: «читателя» и «Updater». Вся система работает на Windows Server 2008 R2 x64
«Updater» постоянно обращается к диску в линейном режиме, обновляя данные. Их система настроена таким образом, что у updater всегда есть бесконечные данные для обновления. Подумайте, что он постоянно аппроксимирует решение огромного набора уравнений, занимающего весь 2TB-диск. Updater использует ReadFile и WriteFile для обработки данных линейным способом.
«Читатель» иногда вызывается пользователем, чтобы получить некоторые данные. Обычно пользователь считывает несколько блоков 4kb с диска и останавливается. Иногда пользователю необходимо читать до 100 мб последовательно. В исключительных случаях до нескольких гигабайт. Reader отображает файлы в память, чтобы получить нужные ему данные.
То, что я хотел бы достичь, заключается в том, чтобы «читатель» имел абсолютный приоритет, так что «updater» полностью остановился, если понадобится, чтобы «читатель» мог получить потребности пользователей данных как можно скорее.
Эта проблема разрешима с помощью вызовов SetPriorityClass и SetFileBandwidthReservation?
Мне очень жаль было бы вводить синхронизацию в «читатель» и «обновление», и, скорее, ОС позаботится о приоритетах.