前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云elasticsearch产品优化指南

腾讯云elasticsearch产品优化指南

原创
作者头像
迁云小助手
修改2019-12-05 19:04:08
3.2K0
修改2019-12-05 19:04:08
举报
文章被收录于专栏:上云那些事

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

  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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、首先是建议做软优化(分片设置等)
  • 二、其他外部优化文章参考
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档