【问题标题】:sub-second latency causing delay in spark application亚秒级延迟导致火花应用程序延迟
【发布时间】:2021-10-16 11:25:08
【问题描述】:

我有一个 Spark 批处理作业,每分钟运行一次,每批处理约 20 万条记录。应用程序的通常处理延迟约为 30 秒。在应用程序中,对于每个请求,我们都会向 DynamoDB 发出写入请求。有时,服务器端 DDB 写入延迟约为 5 毫秒而不是 3.5 毫秒(与通常的延迟 3.5 毫秒相比,增加了约 30%)。这导致应用程序的整体延迟增加了 6 倍(约 3 分钟)。

DDB 调用的亚秒级延迟如何影响应用的整体延迟 6 倍?

PS:我已经通过重叠 DDB put 延迟和 spark 应用程序处理延迟的 cloud-watch 图来验证根本原因。

谢谢, 维诺德。

【问题讨论】:

    标签: apache-spark amazon-dynamodb amazon-emr


    【解决方案1】:

    只是一个大概的估计:

    如果平均延迟为 3.5 毫秒,并且您的 20 万条记录中约有一半在 5 毫秒而不是 3.5 毫秒内处理,那么我们将得到:

    200.000 * 0.5 * (5 - 3.5) = 150.000 (ms)
    

    总延迟,即 150 秒或 2.5 分钟。我不知道该过程的并行化程度如何,但这似乎在预期的延迟范围内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 2011-10-24
      • 1970-01-01
      • 2020-09-23
      相关资源
      最近更新 更多