We are currently trialling SmartOS with Cassandra and have seen some pretty good results (and the mmap stuff "appears" to work). As Rob said, if this is production cluster, run with linux… there will be far less pain.

If you are super keen on running on something different from linux in production (after all the warnings), run most of your cluster on linux, then run a single node or a separate DC with SmartOS, Solaris, BeOS, OS/2, Minix, Windows 3.1 or whatever it is that you choose and let us know how it all goes!


Ben Bromhead
Instaclustr | www.instaclustr.com | @instaclustr | +61 415 936 359

On 13/02/2014, at 6:32 AM, Jeffrey Kesselman <jeffpk@gmail.com> wrote:

Its quite possible its well tricked out for Linux.

My major issue with Linux has been that its TCP/IP stack is nowhere near as scalable as Solaris' for massive numbers of simultaneous connections.  But thats probably less of an issue with a Cassandra node then it has been with the game servers I've built.

On Wed, Feb 12, 2014 at 1:52 PM, Robert Coli <rcoli@eventbrite.com> wrote:
On Wed, Feb 12, 2014 at 8:55 AM, Jeffrey Kesselman <jeffpk@gmail.com> wrote:
I haven't run Cassandra in production myself, but for other high load Java based servers I've had really good scaling success with OpenSolaris.  In particular I've used Joyent's "SmartOS" which has the additional advantage of "bursting" to cover brief periods of exceptional load.

There are a significant number of Linux only optimizations in Cassandra. Very few people operate production clusters on anything but Linux.

The most obvious optimization that comes to mind is the use of direct i/o to avoid blowing out the page cache under various circumstances.

My approach towards running Cassandra on anything but Linux would be to try to directly compare performance to the same hardware running Linux.


It's always darkest just before you are eaten by a grue.