在使用天蓝色函数的消耗负荷运行时,它们如何实际计算计费单位?
它是否是SDK的一部分,是否对事件/时间进行了测量? 是配置CPU的主机吗? 是否每秒配置一次CPU和内存并进行存储?平均吗?
我没有找到任何有关如何实际测量的资源。
我问,因为有可能在“事件”的上下文之外运行代码,并且很高兴知道它是如何计费/计量的。
答案 0 :(得分:0)
此页面:Consumption Plan Cost Billing FAQ包含有关指标的一些详细信息,但未透露实际计算。
一旦您考虑到内存使用情况会随着时间而变化, 最好将计算描述为内存使用量的积分 时间。 系统通过采样以下对象的内存使用量来进行此计算 该流程(和子流程)要定期进行。 在定价页面上,内存使用情况四舍五入到最接近的128 MB 存储桶(因此,如果您的进程使用的是160 MB,则需要支付256 MB)。计算内存使用量和四舍五入的过程 并发(在同一时间执行多个并发函数 过程)。
他们建议使用App Service上的性能计数器作为您自己的指标,这样也许也可以用于计费?也许保罗·巴图姆可以分享一些见解?
因为功能执行单元是执行时间的组合 和您的内存使用情况,它们不是您使用时的好指标 仅试图了解您的内存使用情况(并且可能 优化您的应用以使用更少的内存)。为此,我们建议使用 启用后由App Insights收集的性能计数器数据 用于Azure函数。然后,您可以使用该应用访问此数据 通过运行以下查询来分析Insights门户:
performanceCounters
| where name == "Private Bytes"
| project timestamp, name, value, cloud_RoleInstance
显然,在某些情况下,性能计数器是不正确的,如本GitHub issue中所述。