【记录一个问题】vm-select和vm-storage均无法做并行查询
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
看我提的这个issue: need parallel query in vm-select and vm-storage to reduce query latency
总结一下:
- vm-select中,没有去识别表达式中可以并行的部分;所有表达式都是串行执行,导致延迟升高;
- vm-storage中,虽然多个查询是可以并行的,但是单个查询内部是串行的。
根据vm-select的trace信息统计了一下:
vm-storage在3611.339毫秒内,发送了135148个data block给vm-select,平均 26.72微秒/block
。
单个block的处理看起来够快,但是能加上并行就更快了。
对于目前查询无法并行的问题,可能的解决办法是:
- 等vm官方发布新版本支持并行查询
- 利用vm-select上的cache,让重复查询可以加速
- 利用recording rules等方法,提前计算结果