- 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(点击加入)》