Тесты дисков обычно имеют диаграмму, которая показывает увеличение пропускной способности ввода-вывода при увеличении глубины очереди. Я предполагаю, что на аппаратном уровне происходит то, что контроллер диска переупорядочивает запросы так, чтобы они совпадали с магнитной головкой. Но как я могу увеличить глубину очереди в своем приложении с интенсивным вводом-выводом? Я буду использовать C #, но не зависящие от языка ответы, вероятно, также будут полезны.
Один (непроверенный) метод, который мне пришел в голову, состоял в том, чтобы разделить мой доступ к диску на множество файлов и выполнить операции ввода-вывода во многих потоках. Но, безусловно, есть способ сделать это без использования потока на параллельный ввод / вывод. И я также предполагаю, что разделение на множество файлов не требуется, поскольку БД, как правило, представляет собой один файл.