专栏首页云产品那些事腾讯云elasticsearch产品优化指南
原创

腾讯云elasticsearch产品优化指南

一、首先是建议做软优化(分片设置等)

  1. 首先先确认自己的集群是不是1c2G的测试版本配置,如果是,那么要清楚:1c2g 不能用于生产,这个配置只能用于测试测试,弄点小数据量数据玩一玩;
  2. 对于日志这种类似场景, 如果使用ES的默认配置(5个分片), 并且使用 Logstash 按天生成索引, 那么 6 个月下来, 拥有的分片数将达到 890 个. 再多的话, ES集群将难以工作,因此日志场景千万不要用默认的设置;
  3. 因此,日志场景建议分片大小控制在30G/个,分片的数量建议跟集群节点数的一样或者是倍数,数量设置参考例子:假设es集群有 5 个节点,Index数据量当前大小为 150GB,预期半年后增长 50%。单分片大小控制为 30GB,则大约需要 150GB * (1 + 50%) / 30 ≈ 7个分片,因为是5个节点,这里多出7-5=2个分片会落在5个节点的任意两个上,这两个会多出一些负载,造成数据热点,节点间压力会相对不均匀。因此,分片数量为节点数的倍数,这里调成10个,这样就平均了;
  4. 所以总结计算公式为: 当前index数据量总大小 * (1 + 数据预期增长比率)/ 30G(单个分片控制的大小,这个是固定的,最优是30G)
  5. 同时日志场景index的数量建议按周或者按月来创建(按天和小时很容易造成索引数变多)
  6. 日志数据如果不重要,副本可以不设置或者设置成1即可(number_of_replicas(副本设置)为 1);
  7. 如果预算可以,数据量后期也会很多,强烈建议在现有节点上做下横向扩容,增加节点数(这样会大大增加性能)
  8. 定期自动化删除过期不必要的索引,根据业务情况删除时间很久之前不用的索引,可以参考这个文章:https://cloud.tencent.com/developer/article/1361207

二、其他外部优化文章参考

另:es最佳实践文档:https://cloud.tencent.com/document/product/845/19551 es监控指标介绍文档:https://cloud.tencent.com/document/product/845/16995 es告警设置建议:https://cloud.tencent.com/document/product/845/35572 es默认模版调整方法:https://cloud.tencent.com/document/product/845/35548 es性能压测数据:https://cloud.tencent.com/document/product/845/19535

es产品横向扩容介绍:

  • 概念:向集群中添加更多节点;
  • 内部实现流程:扩容时会先把申请空节点并启动,节点会根据配置发现集群并加入,此时扩容操作已经算作成功。ES会自动在集群内部做数据均衡,不需要人工干预。
  • 优劣:快速,对业务几乎无影响。但过多小配置的节点集群性能不佳。

下面两篇外部文章也可以推荐给看看: 《图解 Elasticsearch 入门原理》 https://mp.weixin.qq.com/s?__biz=MzUzMTA2NTU2Ng==&mid=2247485771&idx=1&sn=b57cb931376def575497ed0963c564ea&chksm=fa4976facd3effec9b6048566803657f214a31949b5fa94a67b04597d33ab2813ef041e57fc0&mpshare=1&scene=1&srcid=120577nwydfyiyQYCD0ihkuR&sharer_sharetime=1565076443617&sharer_shareid=e5e1cc74ca9c3dbd757efde7fd8ad8c0&rd2werd=1#wechat_redirect

《ElasticSearch读写底层原理及性能调优》

https://juejin.im/post/5de0c453f265da05aa65d8b1

《陈曦:性能与稳定并存 Elasticsearch调优实践》 https://mp.weixin.qq.com/s?__biz=MzI2NDU4OTExOQ==&mid=2247485503&idx=1&sn=3a1ef0d714b499e038bbdb25caecd101&chksm=eaab126fdddc9b7958185cab80cd5a6102b2586d300ef7cbaee21107ef54c705a6594d2fbaea&mpshare=1&scene=1&srcid=1102b0ZxXngkier8vLY8m0D6&sharer_sharetime=1565076470661&sharer_shareid=e5e1cc74ca9c3dbd757efde7fd8ad8c0&rd2werd=1#wechat_redirect

另外,腾讯云es团队的干货系列文章也可以关注下,里面很多关于es优化和特点的介绍: https://cloud.tencent.com/developer/column/4008

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kafka MirrorMaker 跨集群同步工具详解

    MirrorMaker是Kafka附带的一个用于在Kafka集群之间制作镜像数据的工具。该工具从源集群中消费并生产到目标群集。这种镜像的常见用例是在另一个数据...

    3452127307
  • 5月机器学习TOP 10热文: Google Duplex,“换脸术”、网格单元(附文章地址)

    新智元
  • 如何实现高性能的在线 PDF 预览

    最近接到产品需求,用户需要在我们的站点上在线查看 PDF 文件,并且查看时,用户可以对 PDF 文件的进行旋转、缩放、跳转到指定页码等操作。

    政采云前端团队
  • CVPR 2019一篇非常特别的文章

    https://www.zhihu.com/question/313967271

    AI算法与图像处理
  • Succinct Data Structure

    最近看了一篇论文 SuRF: Practical Range Query Filtering with Fast Succinct Tries,里面提到使用一种...

    PingCAP
  • 为 GitHub 项目生成独立主页

    Jingbin
  • Leetcode 441. Arranging Coins

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • 追踪影响数百万用户的Android广告软件开发人员

    ESET研究人员在Google Play上发现了活跃一年的广告软件运营商。所涉及的应用程序已安装了800万次,背后的运营商使用了一些技巧来隐藏。

    FB客服
  • redis数据结构及内部编码-hash数据结构

    在讲redis的hash数据结构之前我们先了解下skiplist Wikipedia给出的解释如下: 跳跃列表(skiplist)是一种数据结构。它允许快速查询...

    日薪月亿
  • Redis(2)——跳跃表

    跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文《Skip lists: a probabilistic alternat...

    乔戈里

扫码关注云+社区

领取腾讯云代金券