zoukankan      html  css  js  c++  java
  • Elasticsearch之性能优化

      elasticsearch 使用有时候会出现CPU飙升,内存爆满情况,需要进行一些优化设置。

    1.  一定要用es自带id生产策略

    2. 设置副本数量为0,写入完可恢复

    put  localhost:9200/_settings
     
    {"number_of_replicas":0}

    3. 关闭刷新,写入完成后可打开

    put  localhost:9200/_settings
     
    { "refresh_interval" : "-1"}

    4. 异步写硬盘,增大写的速度

    put  localhost:9200/_settings
     
    {"translog.durability": "async"}



    "index.translog.durability": "async",
    "index.translog.sync_interval": "30s"

    5. 测试每次bulk数据条数,逐渐增加数量或者减少数量找到最优。

    6.配置文件增加配置项

    indices.memory.index_buffer_size: 20%
    indices.memory.min_index_buffer_size: 96mb
    
    
    
    已经索引好的文档会先存放在内存缓存中,等待被写到到段(segment)中。缓存满的时候会触发段刷盘(吃i/o和cpu的操作)。默认最小缓存大小为48m,不太够,最大为堆内存的10%。对于大量写入的场景也显得有点小。

    7. 设置节点之间的故障检测配置,例如以下elasticsearch.yml配置

    设置节点之间的故障检测配置,例如以下elasticsearch.yml配置
    
    
    大数量写入的场景,会占用大量的网络带宽,很可能使节点之间的心跳超时。并且默认的心跳间隔也相对过于频繁(1s检测一次)
    
    
    此项配置将大大缓解节点间的超时问题
  • 相关阅读:
    4.状态简览
    3.获取git仓库
    2.获取帮助
    1.初次运行git前的配置
    linux命令总结
    使用github参与到开源项目的维护
    mongodb远程连接
    springmvc/springboot处理前台字符串日期自动转换成后台date类型的三种办法
    事务明明配置没有问题,出错时却不执行回滚
    tmux 安装
  • 原文地址:https://www.cnblogs.com/xingxia/p/Elasticsearch_optimize.html
Copyright © 2011-2022 走看看