在生产中,如果您的数据库使用交换,则性能会非常差.在一个Cassandra节点中,你最好让一个节点完全向下,而不是允许它在交换中跛行.
确保您永远不会进入交换的最简单方法是简单地禁用它.
如果您不禁用交换空间,则在操作系统级别出现内存不足(当cassandra mmap用完地址空间时)问题时,操作系统将尝试获取一部分JVM,这实际上是在尝试清除JVM默认情况下是通过JNI进行的。现在,由于丢失了其堆内存的一部分,JVM的速度降低了。现在,GC将与具有较少堆内存的cassandra写操作一起发生。这会降低cassandra节点的整体性能,并逐渐在OS级别上没有剩余内存的某个时间点将其杀死。
这就是为什么他们建议您两件事。