Use cfq
shceduler para esses discos de dados e defina slice_async
e slice_sync
para valores muito altos (por exemplo, 500) e slice_idle
para cerca de 20. Talvez você também precise aumentar fifo_expire_async
e fifo_expire_sync
para cerca de 4000 cada. (Veja link para detalhes).
A idéia é permitir que cada processo tenha controle total do dispositivo por 0,5 s de cada vez, para que a busca entre diferentes áreas do disco não ocorra o tempo todo.
Se você puder pagar, a melhor opção seria obter uma boa unidade SSD que possa conter seus dados. Para o desempenho de leitura aleatória eu sugiro Samsung 860 EVO série porque o ano de 2018 parece ser o melhor equilíbrio entre custos e desempenho. Se o preço não for um problema, escolha o maior SSD Intel Optane disponível no mercado.