本文介绍日志服务查询和分析的限制。
Logstore
查询
限制项 | 说明 | 备注 |
关键词个数 | 关键词查询时,除布尔逻辑符外的条件个数。每次查询最多30个。 | 无 |
字段值大小 | 单个字段值最大为512 KB,超出部分不参与查询。 | 如果单个字段长度大于512 KB,有一定几率无法通过关键词查询到日志,但数据仍然是完整的。 |
操作并发数 | 单个Project支持的最大查询操作并发数为100个。 | 例如100个用户同时在同一个Project的各个Logstore中执行查询操作。 |
返回结果 | 每次查询时,每页最多显示100条查询结果,您可翻页读取完整的查询结果。 | 无 |
模糊查询 | 执行模糊查询时,日志服务最多查询到符合条件的100个词,并返回包含这100个词并满足查询条件的所有日志。更多信息,请参见模糊查询。 | 无 |
查询结果排序 | 默认按照秒级时间(如果存在纳秒级则以纳秒级时间)从最新开始展示。 | 无 |
分析
限制项 | 普通实例 | 独享实例 |
操作并发数 | 单个Project支持的最大分析操作并发数为15个。 例如最大支持15个用户同时在一个Project的各个Logstore中执行分析操作。 | 单个Project支持的最大分析操作并发数为100个。 例如最大支持100个用户同时在一个Project的各个Logstore中执行分析操作。 |
数据量 | 单个Shard单次最大支持查询分析1GB索引数据。 | 单次分析最大支持扫描2000亿行数据。 |
开启模式 | 默认开启。 | 通过开关开启。具体操作,请参见开启SQL独享版。 |
费用 | 免费。 | 根据实际使用的CPU时间付费。 |
数据生效机制 | 分析功能只对开启统计功能后写入的数据生效。 如果您需要分析历史数据,请对历史数据重建索引。更多信息,请参见重建索引。 | 分析功能只对开启统计功能后写入的数据生效。 如果您需要分析历史数据,请对历史数据重建索引。更多信息,请参见重建索引。 |
返回结果 | 执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。 如果您需要返回更多数据,请使用LIMIT语法。更多信息,请参见LIMIT子句。 | 执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。 如果您需要返回更多数据,请使用LIMIT语法。更多信息,请参见LIMIT子句。 |
字段值大小 | 单个字段值最大长度为16 KB(16384字节),超出部分不参与分析。 说明 默认支持的字段值最大长度为2048字节,即2 KB。如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引。 | 单个字段值最大长度为16 KB(16384字节),超出部分不参与分析。 说明 默认支持的字段值最大长度为2048字节,即2 KB。如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引。 |
超时时间 | 分析操作的最大超时的时间为55秒。 | 分析操作的最大超时的时间为55秒。 |
Double类型的字段值位数 | 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是聚合类型计算,建议使用并发计算功能。 |
返回结果(PromQL) | 在标准开源协议中,/query_range接口限制单时间线最多返回11000个数据点。若查询参数满足 (end - start)/step > 11000,将直接报错。 | 在长时间段的查询中,建议适当调大step步长参数。 |
返回结果(SQL) | SQL单次查询/计算中,默认最多返回100条数据。若在SQL中添加“limit all”子句则限制最大返回100万条数据。此限制对以下两种场景有效:
| 100万条数据即代表一百万个数据点。查询语法请参见时序数据查询和分析语法。 |
SQL嵌套PromQL子查询 | PromQL语句长度限制在3K个字符内。 | 查询语法请参见时序数据查询和分析语法。 |
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。 |