Apparement, et d'après des test que j'ai fait avec un prog en C++, la taille optimale du buffer en écriture est de 256Ko.
J'ai un disque 8.4Go, DMA33, avec sans doute 512Ko de cache.
L'idée pour le writebuffer, c'est de ne pas dépasser la taille de la cache du disque (sinon, le prog doit attendre que le disque écrive les données).
Avec les tests que j'ai fait, un buffer de plus de 512Ko est plus lent qu'un buffer de 256Ko.
Pour le readbuffer, à mon avis, le plus gros est le mieux (en fonction de la RAM disponible).