步骤

步骤一:查看es的slowlog

可以通过启用Elasticsearch中的慢速日志来识别运行缓慢的查询。

Slowlogs专门用于分片级别,这意味着只应用数据节点。仅协调 Coordinating-only/客户client节点不具备慢日志分析功能,因为它们不保存数据(索引/分片)。Slowlogs有助于回答以下问题:
Slowlogs专门用于分片级别,这意味着只应用数据节点。仅协调 Coordinating-only/客户client节点不具备慢日志分析功能,因为它们不保存数据(索引/分片)。Slowlogs有助于回答以下问题:
● 1)查询需要多长时间?
● 2)查询请求正文的内容是什么?
√

步骤二:如果没有找到慢查询日志,需要mock用户请求,在应用中将DSL打印出来,再使用profile分析

  1. 打印出DSL,可以通过接口: searchSourceBuilder.toString()。
  2. 新增profile参数,查看到底哪里慢了。

步骤三:修改查询条件,看看查询数独是否有提升

  1. 换了全文接口api ,query_string改成match query满足要求且速度有提升。
  2. 删除某些查询条件(删除无用的source字段,减少算分环节,query_string改match,取消高亮),在基础数据不变的条件下,查看查询速度是否快了(返回时间短了)。
    profile 的解析:https://www.elastic.co/guide/en/elasticsearch/reference/5.4/search-profile.html
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐