带你读《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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
存储 缓存 监控
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
79 3
|
4月前
|
存储 人工智能 自然语言处理
阿里云Elasticsearch AI场景语义搜索最佳实践
本文介绍了如何使用阿里云Elasticsearch结合搜索开发工作台搭建AI语义搜索。
17295 68
|
6月前
|
存储 监控 Java
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
64 0
|
3月前
|
机器学习/深度学习 数据采集 缓存
Elasticsearch与机器学习集成的最佳实践
【8月更文第28天】Elasticsearch 提供了强大的搜索和分析能力,而机器学习则能够通过识别模式和预测趋势来增强这些能力。将两者结合可以实现更智能的搜索体验、异常检测等功能。
102 0
|
4月前
|
存储 监控 Java
使用Elasticsearch实现全文搜索的最佳实践
使用Elasticsearch实现全文搜索的最佳实践
|
4月前
|
存储 监控 Java
使用Elasticsearch实现全文搜索的最佳实践
使用Elasticsearch实现全文搜索的最佳实践
|
5月前
|
存储 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
|
5月前
|
缓存 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
|
5月前
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
6月前
|
API 数据安全/隐私保护 开发者
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
206 6

相关产品

  • 检索分析服务 Elasticsearch版