与Azure功能一起使用的存储帐户上的高文件IO活动

我有一个相当简单的Azure函数应用程序,带有3个函数(2个HTTP绑定,1个每5分钟运行一次的心跳类型函数)。

当试图弄清楚为什么这个特定功能的应用程序比其他项目引起更高的成本时,我发现这些成本几乎完全是由于文件存储创建/写入事务所导致的存储成本。

似乎每个小时都有大约5-8k个文件存储事务出现峰值。该功能应用程序的使用率非常低,因此我不确定该归因于文件事务中的峰值。

与Azure功能一起使用的存储帐户上的高文件IO活动

  • Azure函数运行时:v2
  • 语言:javascript
  • 部署插槽:1个(证书)
  • 应用服务计划:消费
  • 地区:美国西部2
  • azure-storage软件包版本:2.10.3
  • 部署方法:使用Azure Portal(kudu)连接到GitHub存储库

以前,我看到超过1万笔交易的高峰。生产插槽和辅助部署插槽都配置为使用相同的存储帐户。此后,我为“证书”部署槽创建了一个单独的存储帐户,该帐户现在每小时出现类似的高峰。

我尝试过的事情:

  • 在我们使用应用程序见解时,删除了AzureWebJobsDashboard应用程序设置连接字符串(根据我在另一个类似问题上发现的评论)。
  • 更改了“证书”部署插槽,以使用与主要部署插槽不同的存储帐户,以使它们不会互相踩踏。
  • 重新启动功能应用程序。

这种使用是预期行为吗?与我们拥有的其他功能应用程序相比,在这种情况下,我们的存储成本要高得多-尽管大多数其他应用程序都是用C#编写的。

这不是一笔大数目,但是令人惊讶的是,仅对Azure函数收取几便士的费用,而文件事务每月花费几美元。

m13671653449 回答:与Azure功能一起使用的存储帐户上的高文件IO活动

Azure功能的成本包括两部分,一个是功能的成本,另一个是App Insights的成本。

根据您的描述,此函数不经常使用,并且您删除了AzureWebJobsDashboard,那么我们可以排除两种情况,这既不是函数内部存储操作的成本,也不是洞察力造成的成本。

基于以上两点,我怀疑如此巨大的存储成本来自部署阶段。部署项目时,整个项目信息将传递到文件存储,并且已多次执行此部署操作。这应该是这笔费用的原因。

本文链接:https://www.f2er.com/3114050.html

大家都在问