有项目要做模型变量实时的统计监控,需要对变量的值进行统计,其中一种是对值分布的统计,比如Y出现次数,N出现次数。当时就想把值写入导influxdb的tag中,然后field中存储次数。 使用的是influxdb 1.8.0,刚开始是可以正常插入并统计,但不久之后就发现很多统计值都出现了大幅减少,看到报错为:
max-values-per-tag limit exceeded
查阅资料发现为tag的数量限制,原因是把变量值插入到表中时没有做过滤,很多比如流水号之类的值也写入了,导致超出了tag的10w的数量限制。解决办法只能是对变量做限制,不让这么多tag写入进去。
需要注意的是,如果数据量很大,一张表出现max-values-per-tag limit exceeded错误,有可能导致其他表也写入失败的情况。