【发布时间】:2020-05-13 07:05:15
【问题描述】:
最近,我对使用 Azure Function 和 Azure Event Hub 的应用程序进行了性能测试。
单条消息处理:
pubic async Task Run(EventData msg, CloudTable myTable)
{
await myTable.Upsert(msg.ToTableEntity());
}
批量消息处理:
public async Task Run(EventData[] messages, CloudTable myTable)
{
var tasks = messages.Select(async msg => await Handle(msg, myTable)).ToList();
await Tasks.WhenAll(tasks);
}
private async Task Handle(EventData msg, CloudTable myTable)
{
await myTable.Upsert(msg.ToTabletEntity());
}
批量消息处理的速度比单条消息处理快15%。
我希望它们具有相同的速度,因为 Azure 函数处理消息是并行的。
我想host.json的设置如:batchSize,prefetchCount,checkpoint对这个结果的影响。
你能帮我解释一下吗?
谢谢,
【问题讨论】:
-
感谢编辑。下次我会注意的。
标签: c# azure parallel-processing azure-functions azure-eventhub