1/ If this actually improves your performance, then there is something seriously wrong with the Linux page cache. If you have lots of memory, then everything that is read into memory should stay there.
2/ It is very strange that stopping and restating the array (which I think is what you are saying you are doing) makes any difference. Can you post the output of "mdadm -D /dev/md127" both when the array is not working and when the array is working again. Preferably post it to email@example.com (you don't need to be subscribed).