本文屬於《InfluxDB系列教程》文章系列,該系列共包括以下 17 部分: InfluxDB學習之InfluxDB的基本概念 InfluxDB學習之InfluxDB的基本操作 InfluxDB學習之InfluxDB的HTTP API寫入操作 InfluxDB學習之InfluxDB數據保留策略(Re ...
本文屬於《InfluxDB系列教程》文章系列,該系列共包括以下 17 部分:
- InfluxDB學習之InfluxDB的基本概念
- InfluxDB學習之InfluxDB的基本操作
- InfluxDB學習之InfluxDB的HTTP API寫入操作
- InfluxDB學習之InfluxDB數據保留策略(Retention Policies)
- InfluxDB學習之InfluxDB連續查詢(Continuous Queries)
- InfluxDB學習之InfluxDB的HTTP API查詢操作
- InfluxDB學習之InfluxDB的關鍵概念
- InfluxDB學習之InfluxDB常用函數(一)聚合類函數
- InfluxDB學習之InfluxDB常用函數(二)選擇類函數
- InfluxDB學習之InfluxDB常用函數(三)變換類函數
- InfluxDB學習之再說連續查詢
- Influxdb原理詳解
- InfluxDB安裝後web頁面無法訪問的解決方案
- InfluxDB數據備份和恢復方法,支持本地和遠程備份
- InfluxDB執行語句管理(query management)
- InfluxDB在windows下的安裝和配置
- InfluxDB系列學習教程目錄
InfluxDB系列教程,首發於Linux大學網(linuxdaxue.com),同步發表於等英博客(waitig.com),有問題歡迎加群【580487672】討論!
在influxDB的實際使用中,我們可能需要對正在執行的SQL語句進行分析、處理,幫助我們來定位問題。
本文就來給大家介紹下如何在influxDB下管理正在執行的語句。
更多InfluxDB技術請加入《InfluxDB技術交流群:580487672(點擊加入)》
註:本文示例均來自官方,僅做演示使用。
列出正在執行的語句—SHOW QUERIES
我們可以使用SHOW QUERIES命令來列出當前正在執行的語句,語法如下所示:
SHOW QUERIES
示例:
> SHOW QUERIES qid query database duration 37 SHOW QUERIES 100368u 36 SELECT mean(myfield) FROM mymeas mydb 3s
其中各列的說明:
qid 正在執行的語句的ID,我們可以使用 KILL QUERY命令來殺掉此命令。 query 命令內容 database 正在執行語句的資料庫 duration 此語句當前執行的時長
停止當前正在執行的語句– KILL QUERY
KILL QUERY的語法如下所示:
KILL QUERY <qid>
比如上文中,我們要停掉搜索出來的語句中PID為36的那個語句,則可以使用如下命令:
> KILL QUERY 36 >
這樣,那條語句就被成功停止了,本命令沒有任何返回值。
配置文件中的命令管理選項
在配置文件中對命令也有專門的配置項,接下來就給大家介紹下常用的幾個配置項。
max-concurrent-queries
max-concurrent-queries項是配置最大的可執行的命令數,此項值為零則表示無限制。
如果你執行的命令數超過這個配置項的數量,則會報如下錯誤:
ERR: max concurrent queries reached
query-timeout
query-timeout項用來配置命令的超時時間,如果命令的執行時長超過了此時間,則influxDB會殺掉這條語句並報出如下錯誤:
ERR: query timeout reached
log-queries-after
log-queries-after用來配置執行時長為多少的語句會被記錄為慢查詢。配置為0則表示不會記錄這些語句。
比如,改項配置為“1s”,則執行時長超過1秒的語句會被標記為慢查詢,並記錄在日誌里。
[query] 2016/04/28 14:11:31 Detected slow query: SELECT mean(usage_idle) FROM cpu WHERE time >= 0 GROUP BY time(20s) (qid: 3, database: telegraf, threshold: 1s)
max-select-point
max-select-point配置一次可查詢出的數據量,因為在influxDB中一條數據看做一個點,因此這個配置叫每次可查詢的最大的點數。
配置為0則表示無限制,如果查詢出來的數量大於此項配置,則influxDB會殺掉這條語句並報出如下錯誤:
ERR: max number of points reached
max-select-series
max-select-series用來配置influxDB語句中最多可處理的series的數量,如果你的語句中要處理的series數量大於此配置,則influxDB不會執行這條語句並且會報出如下錯誤:
ERR: max select series count exceeded: <query_series_count> series
好了,有關InfluxDB管理執行語句的內容就先為大家介紹到這裡,更多InfluxDB技術請加入《InfluxDB技術交流群:580487672(點擊加入)》