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

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《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/

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 监控 Java
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
|
存储 人工智能 自然语言处理
阿里云Elasticsearch AI场景语义搜索最佳实践
本文介绍了如何使用阿里云Elasticsearch结合搜索开发工作台搭建AI语义搜索。
17723 68
|
12月前
|
存储 缓存 监控
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
687 3
|
存储 监控 Java
使用Elasticsearch实现全文搜索的最佳实践
使用Elasticsearch实现全文搜索的最佳实践
|
机器学习/深度学习 数据采集 缓存
Elasticsearch与机器学习集成的最佳实践
【8月更文第28天】Elasticsearch 提供了强大的搜索和分析能力,而机器学习则能够通过识别模式和预测趋势来增强这些能力。将两者结合可以实现更智能的搜索体验、异常检测等功能。
316 0
|
API 数据安全/隐私保护 开发者
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
|
存储 监控 Java
使用Elasticsearch实现全文搜索的最佳实践
使用Elasticsearch实现全文搜索的最佳实践
|
存储 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
|
缓存 Java API
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)

相关产品

  • 检索分析服务 Elasticsearch版