When we ran Cassandra on windows, we got better performance without memory mapped IO. We had the same problems your are describing, what happens is that Windows is rather aggressive about swapping out memory when all the memory is used, and it starts swapping out "unused" parts of the heap, which causes problems later when it has to swap it in again. We tried a bunch of solutions to limit the mmap memory, to reduce swappiness, etc, but nothing worked.
Switching to standard disk access mode worked like a charm though, and performance improved. You still have the disk cache instead of the mmap, so you still use all the RAM of the machine, but you won't run into swapping hell.
So, disable mmap, benchmark it, and see if it outperforms running with mmap. I'm pretty sure you will find that it does.
For performance reasons I switched to memory mapped IO. Is there a way to make memory-mapped IO work in Windows?
Thanks!2012/9/10 Viktor Jevdokimov <Viktor.Jevdokimov@adform.com>
Do not use mmap/auto on Windows, standard access mode only. In cassandra.yaml:
Best regards / PagarbiaiViktor JevdokimovSenior Developer
Email: Viktor.Jevdokimov@adform.comJ. Jasinskio 16C, LT-01112 Vilnius, LithuaniaFollow us on Twitter: @adforminsiderWhat is Adform: watch this short video
Visit us at Dmexco: Hall: 7, Aisle: A, Stand: 030September 12-13 Cologne, Germany
Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies.