本文介绍日志服务查询和分析的限制。
LogStore
查询
|
限制项 |
说明 |
|
关键词个数 |
关键词查询时,除布尔逻辑符外的条件个数。每次查询最多30个。 |
|
字段值大小 |
单个字段值最大为512 KB,超出部分不参与查询。 如果单个字段长度大于512 KB,有一定几率无法通过关键词查询到日志,但数据仍然是完整的。 说明
如需设置日志字段值的最大长度,请参见为什么查询和分析时,字段值会被截断? |
|
操作并发数 |
单个Project支持的最大查询操作并发数为100个。 例如100个用户同时在同一个Project的各个LogStore中执行查询操作。 |
|
返回结果 |
每次查询时,每页最多显示100条查询结果,您可翻页读取完整的查询结果。 |
|
模糊查询 |
执行模糊查询时,日志服务最多查询到符合条件的100个词,并返回包含这100个词并满足查询条件的所有日志。更多信息,请参见模糊查询。 |
|
查询结果排序 |
默认按照秒级时间(如果存在纳秒级则以纳秒级时间)从最新开始展示。 |
分析
限制项 | 普通实例 | SQL独享实例 | |
SQL增强 | 完全精确 | ||
并发数 | 单个Project支持的最大查询并发数为15个。 | 单个Project支持的最大查询并发数为100个。 | 单个Project支持的最大查询并发数为5个。 |
数据量 | 单次查询分析最大支持扫描400MB日志数据(不包含缓存数据),超过部分截断,标记为查询结果不精确。 | 单次查询分析最大支持扫描2GB日志数据(不包含缓存数据),超过部分截断,标记为查询结果不精确。 | 无限制。 |
开启模式 | 默认开启。 | 通过开关开启。具体操作,请参见SQL增强。 | 通过开关开启。具体操作,请参见SQL完全精确。 |
费用 | 免费。 | 根据实际使用的CPU时间付费。 | 根据实际使用的CPU时间付费。 |
数据生效机制 | 分析功能只对开启统计功能后写入的数据生效。 如果您需要分析历史数据,请对历史数据重建索引。 | 分析功能只对开启统计功能后写入的数据生效。 如果您需要分析历史数据,请对历史数据重建索引。 | 分析功能只对开启统计功能后写入的数据生效。 如果您需要分析历史数据,请对历史数据重建索引。 |
返回结果 | 执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。 如果您需要返回更多数据,请使用LIMIT子句。 | 执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。 如果您需要返回更多数据,请使用LIMIT子句。 | 执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。 如果您需要返回更多数据,请使用LIMIT子句。 |
字段值大小 | 单个字段值最大长度的默认值为 2 KB(2048字节),可调整配置最高支持 16 KB(16384字节),但超出部分将不再参与日志分析和检索操作。 说明 如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引。 | 单个字段值最大长度的默认值为 2 KB(2048字节),可调整配置最高支持 16 KB(16384字节),但超出部分将不再参与日志分析和检索操作。 说明 如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引。 | 单个字段值最大长度的默认值为 2 KB(2048字节),可调整配置最高支持 16 KB(16384字节),但超出部分将不再参与日志分析和检索操作。 说明 如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引。 |
超时时间 | 分析操作的最大超时的时间为55秒。 | 分析操作的最大超时的时间为55秒。 | 分析操作的最大超时的时间为55秒。 |
Double类型字段值位数 | Double类型字段值最多52位。 如果浮点数编码位数超过52位,会造成精度损失。 | Double类型字段值最多52位。 如果浮点数编码位数超过52位,会造成精度损失。 | Double类型字段值最多52位。 如果浮点数编码位数超过52位,会造成精度损失。 |
MetricStore
|
限制项 |
说明 |
备注 |
|
接口列表 |
仅支持 /query, /query_range, /labels, /label/{label}/values, /series 五种接口。 |
|
|
数据规范 |
|
其他限制请参见时序数据(Metric)。 |
|
查询并发数 |
单个Project支持的最大查询操作并发数为15个。 |
例如15个用户同时在同一个Project的各个MetricStore中执行查询操作。 |
|
读取数据量 |
单Shard单次最多读取“200万时间线/200万数据点/200MB”数据,读取过程中若达到任一限制条件则停止数据读取。 |
达到任一限制后,会记录下“读取不完整”的状态并返回给查询侧。建议按需分裂足够多的Shard来支撑大数据量的读取。 |
|
计算侧数据量 |
在执行PromQL计算前,将检查单节点内的原始数据量大小。当前限制最大允许“2亿时间线/2亿数据点/2GB”数据量执行计算,若超出任一限制会直接返回计算错误。 |
如果业务强依赖于“单次执行大数据量的聚合计算”,建议开启并发计算功能,具体请参见并发计算。 |
|
计算侧数据点 |
在PromQL-Engine的计算流程中会执行“选点”操作,若已选取并纳入计算的数据点超出了5000万,将直接报错。 |
遵循与开源Prometheus相同的计算限制,若此Query是聚合类型计算,建议使用并发计算功能。 |
|
查询队列长度 |
请求在发送到服务端的时候,会先进入队列中等待执行,如果队列中等待执行的任务数超过200,后续请求任务就会被丢弃。 |
如果短时间高QPS的突发请求量进入的时候,就会有部分请求被拒绝。 |
|
返回结果(PromQL) |
在标准开源协议中,/query_range接口限制单时间线最多返回11000个数据点。若查询参数满足 (end - start)/step > 11000,将直接报错。 |
在长时间段的查询中,建议适当调大step步长参数。 |
|
返回结果(SQL) |
SQL单次查询/计算中,默认最多返回100条数据。若在SQL中添加“limit all”子句则限制最大返回100万条数据。此限制对以下两种场景有效:
|
100万条数据即代表一百万个数据点。查询语法请参见时序数据查询和分析语法。 |
|
SQL嵌套PromQL子查询 |
PromQL语句长度限制在3K个字符内。 |
查询语法请参见时序数据查询和分析语法。 |
|
Remote Read接口 |
Remote Read接口支持单次请求返回1G的数据;查询时间跨度最高支持30天。 |
最大查询时间跨度不可调整。 开源Remote Read接口文档请参见Prometheus Remote Read。 说明
通过Remote Read接口请求数据时建议将本地Prometheus的lookback-delta设置为3分钟,与MetricStore默认lookback-delta参数匹配,否则可能会导致查询结果不完整。 |
|
lookback-delta |
SLS时序库中此参数默认为 3 分钟。 |
lookback-delta 为PromQL查询的特定参数,详情请参考lookback-delta。 PromQL API支持自定义设置,最大不超过 3 天。自定义设置方式请参见时序指标查询API。 |
|
超时时间 |
PromQL API查询默认1分钟,SQL类查询默认 55 秒。 |
PromQL API支持自定义设置。自定义设置方式请参见时序指标查询API。 |
|
Meta类接口限制 |
出于查询性能考虑,Meta类接口限制最大查询5分钟的数据。此限制仅对/labels、/label/{label}/values、/series三个接口生效。 |
5分钟的时间窗口表示以参数end为基准,往前扩展5分钟,即[end - 5min, end]。 PromQL API支持自定义传入 Meta 开始结束时间,设置方式请参见Query Series API。 说明
Meta 类接口默认对所有数据进行查询,请设置合理的match参数进行聚焦,以大幅提升性能。自定义设置方式请参见Query Series API。 |