Cassandra 卡桑德拉是如何利用多核来工作的

Cassandra 卡桑德拉是如何利用多核来工作的,cassandra,Cassandra,我想知道casandra如何使用服务器机器的多个核心。我运行了cassandra进程,可以看到它作为单个进程运行。这意味着cassandra只需要一个内核就足够了,那么为什么我们需要8个内核才能获得其网站上提到的最佳cassandra性能呢?此外,如果cassandra是多线程的,那么在不同的内核上运行不同的线程就完全取决于操作系统了,对吗?cassandra是高度线程化的,因此它能够利用多个内核。在Linux上,您可以看到一个进程有多少线程,如下所示: cat/proc//状态| grep线程

我想知道casandra如何使用服务器机器的多个核心。我运行了cassandra进程,可以看到它作为单个进程运行。这意味着cassandra只需要一个内核就足够了,那么为什么我们需要8个内核才能获得其网站上提到的最佳cassandra性能呢?此外,如果cassandra是多线程的,那么在不同的内核上运行不同的线程就完全取决于操作系统了,对吗?

cassandra是高度线程化的,因此它能够利用多个内核。在Linux上,您可以看到一个进程有多少线程,如下所示:

cat/proc//状态| grep线程

在我的系统的空闲节点上,它有73个线程。当线程有工作要做时,操作系统将安排线程在可用的内核上运行


CPU通常是Cassandra的瓶颈,因为它是用Java编写的,并在读写数据时执行大量CPU密集型操作,如对象序列化和反序列化、垃圾收集和SSTable压缩。

ps-eLF
在这里也很有用-PSR列显示CPU核心线程正在运行。