elasticsearch调优

安利一篇我翻译的国外大牛的神经网络入门文章

这部分是从同事的wiki上扒下来的,记在这里,作为以后使用的参考

分片和副本调优

  1. 更多分片使索引能传送到更多的服务器,意味着可以处理更多的文件,而不会降低性能
  2. 更多分片意味着获取特定文档所需的资源量会减少,因为相较于部署更少分片时,存储在单个分片中的文件数量会更少
  3. 更多分片意味着搜索索引时会面临更多问题,因为必须从更多分片中合并结果,使得查询的聚合阶段需要更多的资源
  4. 更多副本会增强集群系统的容错性,因为当原始分片不可用时,其副本将代替原始分片发挥作用,只拥有单个副本,集群可能在不丢失数据的情况下遗失分片。当拥有两个副本时,即时丢失了原始分片及其中一个副本,一切工作仍可以很好地继续下去。
  5. 更多副本意味着查询吞吐量会增加,因为执行车讯可以使用分片或分片的任一副本
总结

副本多:

  1. 优点:查询速度快,容错性高
  2. 缺点:插入速度变慢

分片多:

  1. 优点:插入速度快
  2. 缺点:查询速度慢

副本最好设置为2份提高容错性和查询速度,分片设置为节点数量的2倍提高插入速度,如果是大批量导入不做查询的话可取消副本

Merge 吞吐量调优

系统默认是20mb,实际系统性能可能会更好,可适当调整

curl  -XPUT "http://<ip>:9200/_cluster/settings" -d
    '{
        "persistent":
        {
            "indices.store.throttle.type": "merge",
            "indices.store.throttle.max_bytes_per_sec": "200mb"
        }
    }'

刷新频率调优

大批量插入时,修改refresh_interval到-1(不刷新)或大于1s的时间,减少shard刷新间隔

curl -XPUT 'http://<ip>:9200/dw-search/_settings' -d '{ 
    "index" : { 
        "refresh_interval" : "-1" 
    } 
}'

插入完成后修改回默认值1s

curl -XPUT 'http://10.1.*.*:9200/dw-search/_settings' -d '{ 
    "index" : { 
        "refresh_interval" : "1s" 
    } 
}' 

另外下面的文章列出了很多有用的url
http://blog.csdn.net/u014351782/article/details/51207650
其中关闭index这个方法在一次故障处理中起了很大的作用,我们发现系统一直报’too many open files’,然后找到elasticsearch进程,发现确实打开了很多句柄,然后调用
curl http://localhost:9200/_nodes/process\?pretty
发现最大句柄数已经是65530
"max_file_descriptors" : 65530,
果然重启之后,句柄数很快还是飙到了65530,通过关闭index,句柄数得到了显著减少。

本篇博客还参考下面的博客:
http://www.wklken.me/posts/2015/05/23/elasticsearch-issues.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值