【问题标题】:concurrent query performance in amazon redshiftamazon redshift 中的并发查询性能
【发布时间】:2013-10-24 13:22:53
【问题描述】:

在 Amazon Redshift 上,并发查询会影响彼此的性能吗?

例如,假设有两个查询:一个在相对较小的表(~5m 行)上检索所有行,另一个在一个大表(~500m)行上。两个表都有相同的字段,都没有压缩。两个查询都检索各自表中的所有数据以计算其结果。没有连接或过滤器。两个查询都检索大约 2-4 个字段进行计算。

自行运行,小查询大约在 700 毫秒内返回。但是,当大型查询运行时(这本身需要几分钟),小型查询会在 4-6 秒内返回。

这是在具有单个 XL 节点的集群上观察到的行为。

这是预期的行为吗?是否有一个配置设置可以保证小查询的性能一致性,即使大查询正在运行?

【问题讨论】:

    标签: amazon-web-services amazon-redshift paraccel


    【解决方案1】:

    复制粘贴自:https://forums.aws.amazon.com/thread.jspa?threadID=137540#

    我已经执行了一些并发查询基准测试。

    我创建了一个简单的查询,它本身需要大约一分钟 跑步。然后我一次运行其中一个查询,然后是两个,三个, 等,并为每个查询计时。

    每个查询基本上都会使数据库性能减半 - 例如你想要什么 预计;负载加倍,性能减半。

    实际上,这比减半要好一些 - 你可以获得额外的 10% 性能。

    这种性能行为适用于多达 5 个并发查询,这 是在数据库 I 上配置的最大并发查询数 正在与。如果我运行了六个查询,最后的查询不能 执行直到第一个查询完成并释放 插槽。

    最后,vacuum 的行为与普通查询非常相似——它将性能减半。 没什么特别的。

    实际上,真空不仅仅是减半 - 它相当于 相当繁重的查询。

    【讨论】:

      【解决方案2】:

      没有任何保证,因为所有这些都在固定数量的 CPU 上运行。当你增加工作量时,工作量是固定的,它会降低吞吐量。简短的回答是获得更大的机器(即更多节点)。

      以下是您回答的具体内容:

      https://forums.aws.amazon.com/message.jspa?messageID=437015#

      http://docs.aws.amazon.com/redshift/latest/dg/c_workload_mngmt_classification.html

      【讨论】:

      • 不知道原ParAccel是否存在同样的问题?
      猜你喜欢
      • 1970-01-01
      • 2014-08-10
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多