查询优化
在日常的业务开发中,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类别语句,可以查看具体的搜索请求的RequestId、Query、 总消耗(LCU)、检索消耗(LCU)、统计消耗(LCU)、排序消耗(LCU)、摘要消耗(LCU)、其他消耗(LCU)以及优化建议。