背景
使用我们的Elasticsearch节点,我注意到索引文档时每个I / O吞吐量的CPU使用率非常高(查询似乎没问题)。我能够通过垂直扩展(向服务器添加更多CPU)来增加吞吐量,但我想看看通过水平扩展(将节点数从2增加到4)可以获得什么样的增加。
问题
我预计扩展的群集大小会增加吞吐量,但性能实际上有点差。我还注意到有一半节点报告的I / O和CPU使用率非常低。
研究
我看到主要的分片分配很糟糕,所以我使用重新路由API对其中的一些进行了混乱。除了改变使用哪两个节点之外,这并没有任何影响。
_search_shards API表示所有节点和分片都应该参与。
问题
我不确定为什么只有两个节点参与索引。文档编入索引后,有没有办法查看它所在的碎片?我有什么明显的遗失吗?
设置的
统计
碎片
files-v2 4 r STARTED 664644 8.4gb 10.240.219.136 es-qa-03
files-v2 4 p STARTED 664644 8.4gb 10.240.211.15 es-qa-01
files-v2 7 r STARTED 854807 10.5gb 10.240.53.190 es-qa-04
files-v2 7 p STARTED 854807 10.2gb 10.240.147.89 es-qa-02
files-v2 0 r STARTED 147515 711.4mb 10.240.53.190 es-qa-04
files-v2 0 p STARTED 147515 711.4mb 10.240.211.15 es-qa-01
files-v2 3 r STARTED 347552 1.2gb 10.240.53.190 es-qa-04
files-v2 3 p STARTED 347552 1.2gb 10.240.147.89 es-qa-02
files-v2 1 p STARTED 649461 3.5gb 10.240.219.136 es-qa-03
files-v2 1 r STARTED 649461 3.5gb 10.240.147.89 es-qa-02
files-v2 5 r STARTED 488581 3.6gb 10.240.219.136 es-qa-03
files-v2 5 p STARTED 488581 3.6gb 10.240.211.15 es-qa-01
files-v2 6 r STARTED 186067 916.8mb 10.240.147.89 es-qa-02
files-v2 6 p STARTED 186067 916.8mb 10.240.211.15 es-qa-01
files-v2 2 r STARTED 765970 7.8gb 10.240.53.190 es-qa-04
files-v2 2 p STARTED 765970 7.8gb 10.240.219.136 es-qa-03
答案 0 :(得分:0)
答案 1 :(得分:0)
public <S extends T> S save(S entity) {
Assert.notNull(entity, "Cannot save 'null' entity.");
elasticsearchOperations.index(createIndexQuery(entity));
elasticsearchOperations.refresh(entityInformation.getIndexName(), true);
return entity;
}
我通过在没有Spring抽象的情况下调用API来绕过这一点,并且所有节点的CPU使用率都要好得多。我还不太清楚为什么刷新会对2个节点(而不是1个或所有节点)产生影响,但问题似乎已得到解决。