前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elasticsearch读写怎么应对长尾延迟

elasticsearch读写怎么应对长尾延迟

原创
作者头像
用户1233856
发布2022-08-17 13:55:39
8320
发布2022-08-17 13:55:39
举报
文章被收录于专栏:白码晚股白码晚股

长尾效应[1]

分布式系统,即使有极少数机器请求响应时间较长,也有大概率导致用户请求的响应时间变长。

长尾效应不可避免

节点情况各不相同,最常见因素是“垃圾回收”,某个节点都stop the wrold,任务处理自然响应慢一点。而垃圾回收,就像是去厕所大号一样,有规律,但时间点不一定好控制。叠加其他因素交叉在一起,整体上是不能做到保证每个节点都是同等的响应时间。

举个例子,分布式下某一任务受极少数节点影响,就像约好同事们下班一起去团建,6点集合,这时有的同事要加班、有的同事要给公交卡充钱等等,实际聚齐的时间一定会超过6点。

长尾效应对elasticsearch读写的影响

elasticsearch路由目的就是要确保文档均匀分布到分片,只要是跨分片操作都会发生长尾效应,从而拖累操作,使处理时间变长,进行影响读写能力。

bulk下CRUD操作都有,多个文档,跨分片、路由策略、分布场景,自然会响应时间变长,单位写能力下降。[2]

ES默认使用Query then fetch的搜索类型。它发送查询到每个shard找到所有匹配的文档。

elasticsearch读写怎么应对长尾效应

两个出发点:一是加强节点本身的能力;二是回避跨节点操作;

  • 节点:感知状态(自适应副本选择ARS)[3] 巡检监控节点健康情况,确保节点都是高效率地工作;通过算法来确定任务总能路由到“最佳”副本上。
  • 任务:分类划小 分类:批写文档事先分类,可以路由一个节点上 划小:将需要长时间运行的请求打散成一连串小请求,使其可以与其它短时间任务交错执行,批写量不要太大。

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

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

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

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

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