本文介紹Log Service查詢和分析的限制。
Logstore
查詢
限制項 | 說明 |
關鍵詞個數 | 關鍵詞查詢時,除布爾邏輯符外的條件個數。每次查詢最多30個。 |
欄位值大小 | 單個欄位值最大為512 KB,超出部分不參與查詢。 如果單個欄位長度大於512 KB,有一定幾率無法通過關鍵詞查詢到日誌,但資料仍然是完整的。 說明 如需設定日誌欄位值的最大長度,請參見為什麼查詢和分析時,欄位值會被截斷? |
操作並發數 | 單個Project支援的最大查詢操作並發數為100個。 例如100個使用者同時在同一個Project的各個Logstore中執行查詢操作。 |
返回結果 | 每次查詢時,每頁最多顯示100條查詢結果,您可翻頁讀取完整的查詢結果。 |
模糊查詢 | 執行模糊查詢時,Log Service最多查詢到合格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的資料;流式響應(application/x-streamed-protobuf)可以通過調整參數,最高支援8G;查詢時間跨度最高支援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。 |