这似乎是一个愚蠢的问题,但无论如何,我还要问后代。我在Functions Pricing page:
中读到了这个Azure函数执行时间以千兆字节秒(GB-s)计量,计算方法是将应用程序的内存大小(以GB为单位)乘以执行时间的总和(以秒为单位)[...]函数应用程序的预期内存大小必须在128MB和1,536MB之间以128MB的增量预选。内存层越大,每秒消耗的GB就越多。
这让我觉得定价是基于等级"块"结合执行时间。例如,128 MB函数如果它们都运行了五秒钟,那么它的成本将低于512 MB,无论它们做什么。但是,Functions site itself提到了应用程序的工作集。但是,这种情况并非专门针对定价。
我的问题是:功能定价是基于选择的内存层,还是基于实际内存使用(两者都是时间)?如果您选择1536 MB作为您的层,但您只使用100 MB,那么您实际上是在浪费时间吗?
答案 0 :(得分:1)
今天,这基于您为内存层选择的内容。执行功能的过程仅限于此内存量。
还有其他好处没有得到承诺,但可以在增加时观察到。这可以帮助减少吵闹的邻居"在您正在运行的VM上,这可以提供更多的CPU和网络吞吐量。
一般情况下,我建议您选择最接近您认为需要的尺寸,然后在玩滑块时进行一些e2e性能测试。它可能会或可能不会帮助您,并且您可能会或可能不值得为您实现的改进支付额外费用。