我正在尝试使用node-redshift和pg从我的节点应用程序运行redshift上的一堆选择查询。如果我按顺序运行查询,每次查询平均得到2秒。但是,当我并行运行查询时,它们需要更长的时间,最后一个查询需要大约32秒。
我可以清楚地看到clog是由并行加载查询引起的。可以做些什么呢?
我还可以得出结论,Redshift并没有花那么长时间。因为缓存的Redshift查询仍然需要相当大的开销。
依序:
并行
答案 0 :(得分:0)
Amazon Redshift Workload Management可用于配置并发,队列和内存分配。
默认情况下,Amazon Redshift配置一个队列,其并发级别为5,这使得最多可以同时运行五个查询,加上一个预定义的超级用户队列,并发级别为1。您最多可以定义八个队列。可以将每个队列配置为最大并发级别50.所有用户定义的队列(不包括超级用户队列)的最大总并发级别为50。
并发查询需要永久分配的内存。如果你总是运行并发查询,这很好,但如果它只运行少量的时间就很浪费。
通常的做法是创建单独的队列:
底线:默认情况下,Redshift配置为具有低并发性的大型复杂查询。您可以调整设置。