全部产品
阿里云办公

查询数据

更新时间:2018-10-26 12:36:31

本文提供给客户介绍如何通过优化查询的策略提升查询的效率

提升查询效率基本原则是命中的时间线越少以及扫过的数据点越少查询效率越高。

  • 如何减少命中的时间线。

    • 通过 api/search/lookup接口查看。api/search/looup 的使用,如:curl http://localhost:3002/api/search/lookup?m=sys.cpu.usage
    • 用户根据自己设置的采集周期来做判断。比如10s的采集周期,一条时间线一天的数据点数为8640个点。
    • 查询条件尽可能选择一些高基数的标签建值作为顾虑条件。比如4个机房有1000个IP。 过滤条件 “IP = 172.220.110.1” 比 ”机房 = A“ 命中的时间线少。
    • 尽量减少模糊查询条件。比如wildcard查询。无法避免的情况下尽量增加一个literor的等值过滤条件。
    • 对于低基数值的查询,可采用预聚合方式提前聚合后写入。比如机房A有1000个IP。 查询机房A的最大CPU使用率。可提前聚合好后写入。
  • 如何减少扫过的数据点数

    • 查询周期与写入的采集周期强相关,避免毫秒级采集周期写入。
    • 起始时间和结束时间最好对齐小时自然边界,避免额外数据的查询。:
  • 查询的 QPS 和 RT 与查询条件和时间范围密切相关,每秒查询请求数不能超过 200,每个查询的子查询不超过 100。

  • 查询的 RT 和需要聚合的数据有关,数据越多,耗时越长。
  • 查询操作无法取消,请谨慎选择查询时间范围和查询的 Tag 条件。