从Azure函数到Azure SQL-性能和扩展

时间:2018-08-09 21:24:38

标签: sql azure azure-sql-database azure-functions

我有一个写入Azure SQL的Azure函数。它当前从主题中读取,但可以更改为从队列中读取。是否有从主题或队列中读取的首选项?

每小时有20万条消息触及该主题。我需要每小时将200K消息写入Azure SQL。在处理期间,我经常收到错误“数据库的请求限制为60,并且已达到。”。我了解我已达到数据库连接的最大数量。有没有办法阻止Azure扩大Azure Function实例的数量?共享SQL连接的最佳方法是什么?

还有其他任何Azure函数到Azure SQL的性能提示吗?

谢谢

理查德

1 个答案:

答案 0 :(得分:2)

使用服务总线无法实现这一目标。您可能需要播放resignFirstResponder文件并更改host.json参数:

maxConcurrentCalls

但它仅控制单个实例的并行调用的数量。

我建议您查看事件中心。您至少会获得2个奖励:

  1. 您可以切换到事件的批次,而不是1对1的处理。通常这是将大量数据插入SQL表的非常有效的方法。

  2. 最大并发性受事件中心分区的数量限制,因此您知道并发调用的硬性限制。

不利的一面是,您将失去一些服务总线功能,例如无效的字母,自动重试等。