Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Elasticsearch每天同时使用高CPU未知rason_Java_Performance_Caching_Merge_Cpu Usage - Fatal编程技术网

Java Elasticsearch每天同时使用高CPU未知rason

Java Elasticsearch每天同时使用高CPU未知rason,java,performance,caching,merge,cpu-usage,Java,Performance,Caching,Merge,Cpu Usage,我正在使用elasticsearch 1.5 它在大部分时间都工作得很好,但每天都会变得疯狂,CPU%会达到70%左右,平均值在3-5%左右。有些超级服务器为堆内存保留了32GB的空间,交换它是锁定的,清除缓存并不能解决问题(它不会取下堆内存) 设置: 3台服务器(节点)每个32核和128GB RAM 2个存储桶(索引),一个存储约1800万个文档(这一个不接收更新,通常只是索引新文档),另一个存储桶大约有700-800万个文档,但我们不断用更新搜索删除和索引轰炸它 对于我们的结构来说,最好的分

我正在使用elasticsearch 1.5

它在大部分时间都工作得很好,但每天都会变得疯狂,CPU%会达到70%左右,平均值在3-5%左右。有些超级服务器为堆内存保留了32GB的空间,交换它是锁定的,清除缓存并不能解决问题(它不会取下堆内存)

设置:

3台服务器(节点)每个32核和128GB RAM 2个存储桶(索引),一个存储约1800万个文档(这一个不接收更新,通常只是索引新文档),另一个存储桶大约有700-800万个文档,但我们不断用更新搜索删除和索引轰炸它

对于我们的结构来说,最好的分布是每个节点只有1个碎片,没有副本,我们可以在几秒钟内关闭%的数据,这将在服务器再次联机时返回,而且这个过程足够快,因为它不需要重新定位任何内容。以前我们使用3个碎片和1个副本,但是上面提到的问题也会出现,因此很容易发现问题与分发无关

我已经尝试过的事情

合并,我尝试使用Optimize API来减少计划合并的负载,但实际上合并过程占用了大量磁盘的R/W,但它不会对mem或CPU负载产生实质性影响

刷新,我尝试以长时间和短时间间隔刷新,结果是一样的,没有任何变化,因为刷新直接影响合并过程,如上所述,合并过程不会占用那么多CPU或内存

管理缓存,手动清除缓存,但似乎不会将cpu负载恢复到正常状态,甚至一刻也不会

以下是elasticsearch.yml配置的大部分内容

 # Force all memory to be locked, forcing the JVM to never swap
    bootstrap.mlockall: true

    ## Threadpool Settings ##

    # Search pool
    threadpool.search.type: fixed
    threadpool.search.size: 20
    threadpool.search.queue_size: 200

# Bulk pool
threadpool.bulk.type: fixed
threadpool.bulk.size: 60
threadpool.bulk.queue_size: 3000

# Index pool
threadpool.index.type: fixed
threadpool.index.size: 20
threadpool.index.queue_size: 1000

# Indices settings
indices.memory.index_buffer_size: 30%
indices.memory.min_shard_index_buffer_size: 12mb
indices.memory.min_index_buffer_size: 96mb

# Cache Sizes
indices.fielddata.cache.size: 30%
#indices.fielddata.cache.expire: 6h #will be depreciated & Dev recomend not to use it
indices.cache.filter.size: 30%
#indices.cache.filter.expire: 6h #will be depreciated & Dev recomend not to use it

# Indexing Settings for Writes
index.refresh_interval: 30s
#index.translog.flush_threshold_ops: 50000
#index.translog.flush_threshold_size: 1024mb
index.translog.flush_threshold_period: 5m
index.merge.scheduler.max_thread_count: 1
当服务器占用大量CPU时

!![当服务器占用大量CPU时-1][1] ![当服务器占用大量CPU时-2][3]

当服务器处于正常状态时

!![[当服务器处于正常状态时-1][2] ![当服务器处于正常状态时-2][4]

我将感谢任何能为我指明摆脱这种行为的正确方向的帮助或讨论

似乎我不能发布图片…联系一下,我会发电子邮件给他们 提前谢谢

问候,

丹尼尔