当前位置: 首页 > article >正文

es 开启slowlog

在 Elasticsearch 中,slowlog(慢日志)是用来记录查询和索引操作的性能数据,帮助你诊断性能瓶颈。你可以为查询 (search slowlog) 和索引 (index slowlog) 配置慢日志。

数据准备
POST /products/_doc/1
{
  "product_name": "Apple iPhone 15",
  "price": 999.99,
  "category": "Smartphones",
  "rating": 4.5,
  "discount": 0.1,
  "availability": true,
  "stock": 50,
  "release_date": "2023-09-01"
}

POST /products/_doc/2
{
  "product_name": "Samsung Galaxy S24",
  "price": 899.99,
  "category": "Smartphones",
  "rating": 4.3,
  "discount": 0.05,
  "availability": true,
  "stock": 30,
  "release_date": "2023-10-10"
}

POST /products/_doc/3
{
  "product_name": "Dell XPS 13",
  "price": 1199.99,
  "category": "Laptops",
  "rating": 4.8,
  "discount": 0.15,
  "availability": true,
  "stock": 20,
  "release_date": "2023-08-20"
}

POST /products/_doc/4
{
  "product_name": "Sony WH-1000XM5",
  "price": 349.99,
  "category": "Headphones",
  "rating": 4.7,
  "discount": 0.2,
  "availability": false,
  "stock": 0,
  "release_date": "2023-06-15"
}

POST /products/_doc/5
{
  "product_name": "Apple MacBook Air",
  "price": 999.00,
  "category": "Laptops",
  "rating": 4.6,
  "discount": 0.1,
  "availability": true,
  "stock": 15,
  "release_date": "2023-11-01"
}
检索请求实现流程

在这里插入图片描述

其中,query阶段的核心步骤如下。

❑客户端发送请求到协调节点。
❑协调节点转发请求到索引的每个主或副本分片。
❑分片本地查询完成后,将结果添加到本地的优先队列。
❑每个分片将本地结果返回给协调节点,协调节点合并完成后,形成全局排序列表。

fetch阶段的核心步骤如下。

❑协调节点接收到客户端请求后,将GET请求(query阶段形成的全局排序列表结果数据)转发给相关节点。
❑接收到请求的节点向协调节点返回结果数据。
❑待全部结果数据都返回后,协调节点将结果返回给客户端。

修改现有索引的慢日志配置 (动态配置)

你也可以通过 Elasticsearch 的 动态设置 API 来为已存在的索引启用慢日志配置,而不需要重启 Elasticsearch。

示例:动态配置查询慢日志
PUT /products/_settings
{
  "settings": {
    "index.search.slowlog.threshold.query.warn": "10s",  
    "index.search.slowlog.threshold.query.info": "5s",   
    "index.search.slowlog.threshold.query.debug": "0s",  
    "index.search.slowlog.threshold.query.trace": "500ms", 
    "index.search.slowlog.threshold.fetch.warn": "1s",   
    "index.search.slowlog.threshold.fetch.info": "500ms",
    "index.search.slowlog.threshold.fetch.debug": "0s",
    "index.indexing.slowlog.level": "debug"  
  }
}

GET /products/_search

在这里插入图片描述

示例:动态配置索引慢日志
PUT /products/_settings
{
  "settings": {
    "index.indexing.slowlog.threshold.index.warn": "10s",
    "index.indexing.slowlog.threshold.index.info": "5s",
    "index.indexing.slowlog.threshold.index.debug": "0s",
    "index.indexing.slowlog.level": "trace"
  }
}

在这里插入图片描述

总结

  1. 启用查询慢日志:可以通过设置查询慢日志阈值来启用,通常记录执行时间较长的查询。
  2. 启用索引慢日志:记录索引、删除等操作的耗时,帮助定位性能瓶颈。

使用慢日志能够帮助你监控和调优 Elasticsearch 的性能,发现并优化长时间运行的查询和索引操作。


http://www.kler.cn/a/441066.html

相关文章:

  • 论文阅读:Realistic Noise Synthesis with Diffusion Models
  • “星门计划对AI未来的意义——以及谁将掌控它”
  • 关于bash内建echo输出多行文本
  • 【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等),或请求参数值是file类型时,调用在线服务接口
  • Windows11无法打开Windows安全中心主界面
  • 大数据相关职位介绍之二(数据治理,数据库管理员, 数据资产管理师,数据质量专员)
  • UIP协议栈 TCP通信客户端 服务端,UDP单播 广播通信 example
  • 本地部署大模型QPS推理测试
  • sql中case when若条件重复 执行的顺序
  • 召回系统介绍
  • 【Elasticsearch】关键数据类型
  • 20241217使用M6000显卡在WIN10下跑whisper来识别中英文字幕
  • 蜂鸟视图的蜂鸟云开发者中心更新:JS SDK v3.1.8 与 微信小程序 SDK v3.1.8 全新上线!
  • 【mysql】row模式的主从架构中,删除无主键的表可能导致从库“夯住”或产生较大的同步延迟
  • JDK以及JRE
  • 三菱协议以及C#实现
  • 【十进制整数转换为其他进制数——短除形式的贪心算法】
  • 【kubernetes】kubectl get nodes报NotReady
  • iOS和安卓,怎样才能轻松实现文件互传?
  • 爬虫运行中遇到反爬虫策略怎么办
  • Leetcode:1338
  • vim save
  • SSM虾米音乐项目6--后台专辑模块的修改和删除
  • 2024安装hexo和next并部署到github和服务器最新教程
  • 【windows-bat脚本】-修改系统时间
  • 实时数仓中涉及更新历史数据(如小时、天、月的汇总数据)时,数据库是否支持 UPSERT(存在更新,否则插入)会显著影响解决方案。