查询优化

更新时间:
复制为 MD 格式

查询优化

在日常的业务开发中,opensearch出现慢查询是很常见的,用户不恰当的操作、filter内容过多、某段时间激增的QPS都有可能导致慢查询的现象发生。opensearch提供的Query分析可以指定时间段查询高LCU花销的慢Query详情,并获得相应的优化建议,协助您降低成本。

优势

  • 0元购:该功能开通即享,免费使用

  • 随心查:可快速查询过去一个月的慢查询记录,并获取相应的优化建议

  • 全方位:可根据平均消耗、峰值、消耗总量query个数占比等维度分析慢Query的原因,并且支持以上维度的大小排序

注意事项

  • 目前暂时只支持对前一天数据进行分析,分析过的历史数据抽样最多保留30

功能使用

1.开通慢查询优化:当用户第一次使用“查询优化”时,可以通过左侧导航栏功能扩展---->查询优化 来开启慢查询分析服务

选择需要开启慢query优化的应用,勾选开通查询Query分析服务和阅读用途承诺书,单击“确认开通”即可开启慢query分析服务。

2.分析query数据:开通服务之后,可根据“按日期查询”也可根据“requestId查询”:

按日期查询:单击界面中的立即分析

等待分析完成。

requestId查询:输入有效的requestId单击查询

查询后,系统返回包含优化建议优化示例两列的结果表格。常见优化建议包括:减少 sorted_doc_count_in_qrs(降低 start+hit 值,例如将 hit:500 优化为 hit:50)、减少 seek_times(增加查询条件或改用 filter 子句)、减少 match_doc_count(增加查询或过滤条件,例如追加 AND status:4),每条建议均附带原始 Query 与优化后 Query 对比示例。

输入格式错误会有相关提示

例如输入无效的 requestId 123 并单击查询后,系统弹出错误提示对话框,提示"查询分析建议不存在,请检查RequestId是否有效",错误码为 Optimizer.OperationFailed.NoData

3.等待慢query数据分析之后,查看结果:可以选择不同的时间范围查询具体哪一天的慢查询结果。

也可以按不同维度对分析结果进行排序。

单击具体的慢Query类别语句,可以查看具体的搜索请求的RequestIdQuery总消耗(LCU)检索消耗(LCU)统计消耗(LCU)排序消耗(LCU)摘要消耗(LCU)其他消耗(LCU)以及优化建议