Já tentou ajustar / sys / block / mdX / md / stripe_cache_size?
De acordo com este post no fórum (em norueguês, desculpe) "sintonizar este parâmetro é mais essencial quanto mais discos e mais rápido o sistema que você tem":
No meu sistema, obtenho o melhor desempenho usando o valor 8192. Se eu usar o valor padrão de 256, o desempenho da gravação cai 66%.
Citando sua velocidade para comparação:
Discos: 8xSeagate 2TB LP (5900RPM) no mdadm RAID6 (-n 512) (stripe_size_cache = 8192).
CPU: Intel X3430 (4x2,4 GHz, 8 GB de RAM ECC DDR3)
Velocidade: 387 MB / s de gravação sequencial, 704 MB / s de leitura sequencial, 669 pesquisas aleatórias por segundo.
Meu servidor doméstico tem quase os mesmos discos que você, usando o RAID 5:
Discos: 4x1,5TB WD Green no RAID 5 (stripe_size_cache = 256 - o padrão)
CPU: Intel i7 920 (2,66 GHz, 6 GB de RAM)
Velocidade: gravação seqüencial de 60 MB / s, leitura seqüencial de 138 MB / s (de acordo com Bonnie ++)
Parece que o desempenho de gravação sequencial é de cerca de 50% do desempenho de leitura.
Para que desempenho esperar, o Linux Raid Wiki diz sobre o RAID 5:
As leituras são quase semelhantes ao RAID-0 lê, escreve pode ser tanto caro (requerendo leitura antes de escrever, a fim de poder calcular a paridade correta informações, como no banco de dados operações) ou similar ao RAID-1 escreve (quando gravações sequenciais maiores são executados e a paridade pode ser calculado diretamente a partir do outro blocos a serem escritos).
E sobre o RAID 6:
O desempenho de leitura é semelhante ao RAID-5, mas o desempenho de gravação é pior.