multithreading - Elasticsearch 即使在满载情况下也只使用一半的 cpu 内核

标签 multithreading elasticsearch multicore windows-server-2012

我已经在我的服务器 (Windows Server 2012) 上安装了 Elasticsearch。当我运行多个查询请求作为压力测试时,只使用了一半的 CPU 内核。为什么?

CPU cores utilization - Elasticsearch under stress test

最佳答案

您使用的是默认的 elasticsearch 配置吗?

确保您没有限制用于搜索/批量/索引的线程数。 默认值已优化,无需更改。默认线程数(搜索除外)设置为计算机上的内核数。对于搜索,它是(核心数 * 3)。

在 elasticsearch.yml 文件中搜索的此配置示例(您应该避免):

threadpool.search.type: fixed
threadpool.search.size: <num-of-threads>

此外,请确保遵循 deployment guidelines以优化性能。

关于multithreading - Elasticsearch 即使在满载情况下也只使用一半的 cpu 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065376/

相关文章:

programming-languages - 为什么闭包突然对优化在多核上运行的程序有用?

c# - 如何从工作线程中调用 UI 线程上的方法?

elasticsearch - 文件节拍 : Send different logs from filebeat to different logstash Pipeline

elasticsearch - 无需存储编码文件的Elasticsearch索引附件

visual-studio-2010 - Visual Studio 2010,如何在多核上并行构建项目

c - 在多个内核上同时运行两个函数

android - 如何在 Android 中暂停/恢复线程?

c# - Monitor.Wait() 和 Monitor.Pulse() 的线程问题

java - 为每个线程生成一个新的对象实例是线程安全的操作吗?

elasticsearch - Elasticsearch Multi通过curl进行工作,但没有通过Java API返回任何结果