我已经在我的服务器 (Windows Server 2012) 上安装了 Elasticsearch。当我运行多个查询请求作为压力测试时,只使用了一半的 CPU 内核。为什么?
最佳答案
您使用的是默认的 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/