【发布时间】:2017-05-30 14:46:25
【问题描述】:
我有一个用例,我必须每秒从不同的生产者收集数千条记录,并使用 AWS firehose 将它们推送到弹性搜索。我还在 firehose 上使用了数据转换 lambda,它在将记录传递回 firehose 之前进行了大量计算。
Firehose 应该在数据再次缓冲以传送到目的地之前异步调用每个缓冲批次的 lambda。
我以每秒 4k 条记录的进入速率运行了 15 分钟的基本测试,这是系统的响应方式。
查看 firehose 指标,很明显,firehose 花了一个多小时来处理所有传入事件。由于没有任何 lambda 限制(图 2),所以我想知道为什么 Firehose 没有运行尽可能多的 lambda 来跟上输入速率?
如第二张图所示,我每分钟大约有 30 次 lambda 调用,平均处理持续时间为 8000 毫秒。
所以我想知道 firehose 是否同时运行 lambda?有没有我遗漏的 firehose-lambda 并发限制?
【问题讨论】:
-
lambda 是否在 VPC 中运行?我在问,因为到目前为止我还没有完成 lambda-firehose 集成。如果是,那么您的 VPC 中可能没有足够的 ENI 可用?
-
不,它没有在 VPC 中运行
标签: amazon-web-services lambda aws-lambda amazon-kinesis-firehose