带你读《Elastic Stack 实战手册》之83:——4.3.2.Elasticsearch 开发人员最佳实践指南(4)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之83:——4.3.2.Elasticsearch 开发人员最佳实践指南(4)

《Elastic Stack 实战手册》——四、应用实践——4.3 性能优化场景——4.3.2.Elasticsearch 开发人员最佳实践指南(3): https://developer.aliyun.com/article/1225221spm=a2c6h.13148508.setting.16.438f4f0e18NXNE


在启用副本之前强制段合并及增加带宽

一个非常常见的 Elasticsearch 用例是:定期(每两小时一次)创建一个索引。

关于如何实现最佳性能,SoundCloud 上有一篇非常不错的 文章。从该文中引用,我特别发现

以下几项“必须”。

·在完成索引创建后,务必启用副本。

·在启用副本之前,请确保:

1)通过强制合并来缩小索引大小;

POST /twitter/_forcemerge

推荐阅读:https://developers.soundcloud.com/blog/how-to-reindex-1-billion-documents-i

n-1-hour-at-soundcloud


记录应用程序级别指标


Kibana 对 Elasticsearch 性能提供了多维监控指标仪表盘:


image.png

·indexing

·search latency and throughput

·flush

·merge operations

·GC pauses

·heap size

·OS (CPU usage, disk I/O

·  kernel caches 等......

但,这还不够。如果由多个应用程序使用,Elasticsearch 将受到各种访问模式的影响。


想象一下,你的应用程序 A 试图删除 1000 万 个不太重要的用户文档,而另一个组件 B 试图更

新用户帐户详细信息。


如果你查看 Elasticsearch 监控指标,一切都是绿色正常。


但是,此时更新账户的用户可能不满意他们尝试更新帐户时的延迟。


因此,始终为你的 Elasticsearch 查询提供额外的应用程序级指标。


尽管 Elasticsearch 结合 Kibana 或者 cerbro 已经为整体集群性能提供了足够的指标,但它

们缺乏特定于操作的上下文监控,需要结合实际业务特事特办。


重视 CPU 的配置选型和使用率监控


怎么强调 CPU 都不过分。


从我过去的经验来看,无论是写负载还是读负载场景,CPU 一直是我们的瓶颈。


谨慎编写自定义的 Elasticsearch 插件

·许多 Elasticsearch 版本包含重大的内部更改。你的插件所基于的公共 API 很可能会向后不

兼容。

·你需要调整部署过程,不能再使用原始的 Elasticsearch 工作。

·由于你的应用程序依赖于于插件提供的特定功能,因此在集成测试过程中运行的 Elasticsea

-rch 实例也需要包含插件。你也就不能再使用原始的 Docker 镜像。


创作人简介:

铭毅天下,Elastic 认证工程师、Elastic 官方合作培训讲师、阿里云 MVP、CSDN 博客专家、

铭毅天下 Elasticsearch 公众号作者、死磕 Elasticsearch 知识星球星主。近 10 年工作经验,

关注 Elastic Stack 技术栈、大数据技术领域。

博客:https://elastic.blog.csdn.net/

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
28天前
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
28天前
|
存储 监控 Java
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
23 0
|
28天前
|
API 数据安全/隐私保护 开发者
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
42 6
|
28天前
|
缓存 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
|
28天前
|
存储 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
|
缓存 自然语言处理 安全
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
126 0
|
数据采集 数据可视化 搜索推荐
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(上)
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(上)
217 0
|
存储 安全 数据可视化
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(中)
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(中)
153 0
|
测试技术 Apache
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(下)
带你读《Elastic Stack 实战手册》之3:——3.1.1.从 Elasticsearch 到 Elastic Stack(下)
151 0
|
存储 缓存 Ubuntu
带你读《Elastic Stack 实战手册》之8:—— 3.4.1.1.安装Elasticsearch(本地及docker)(1)
带你读《Elastic Stack 实战手册》之8:—— 3.4.1.1.安装Elasticsearch(本地及docker)(1)
170 0

相关产品

  • 检索分析服务 Elasticsearch版