我最近一直在玩Redshift,发现了一个奇怪的(或者可能不是那么奇怪的)行为。当正在进行复制(从S3)时,如果我在不同模式的完全不同的表中插入INSERT INTO,则INSERT INTO查询会花费太多时间。当redshift集群上没有运行任何其他内容时,INSERT INTO查询在3-5分钟内完成。但是,当复制正在进行时,同一INSERT INTO查询需要1-2小时。
看看Redshift仪表板,奇怪的是读取吞吐量接近于零。假设我的INSERT INTO查询包含select,我可以想象读取吞吐量会更高。因此,感觉复制查询阻塞了所有其他写操作。我检查了LOCKs (STV_LOCKS)表,COPY和INSERT INTO的锁之间没有冲突。复制查询是否可能阻止所有其他写入?
提前感谢
发布于 2014-11-25 11:39:31
您需要检查参数组配置(针对您在亚马逊网络服务控制台中的集群) ->工作负载管理配置。
检查concurrency .By默认值是否为5。您可以增加该值(最大为50)。这将允许并发连接。当您执行复制命令时,一些连接被使用,因此对于insert into查询,可能没有剩余的连接。因此,增加并发性并再次检查。
希望这能有所帮助
https://stackoverflow.com/questions/27062299
复制相似问题