最佳实践

计费示例

最近更新时间:2021-01-12 10:28:50

计算方案案例

当前云函数的资源用量,是按照函数的配置内存乘以触发时的实际运行时长进行计费。相较于原方案向上对齐100ms计费的方式,产生了更低的总体资源用量及费用,为您节省了预算。

Web 和 API 服务

Web 服务或 API 请求,代码的实际运行时间通常仅为30ms - 50 ms。按实际运行时长计费,优惠程度可达70%。

案例:A 用户使用云函数及 API 网关构成的某个 API 服务,配置了128MB的函数,平均执行时间为37ms。原计算方案中,函数的计费时长为100ms,在每天100万次调用的情况下会产生12500GBs的资源用量。而按实际运行时长计费的方案,产生的资源用量仅为4625GBs,相比降低了63%。

消息处理

针对消息队列中的消息进行过滤、转换及转发,代码的实际运行时长通常仅为60ms - 80ms。按实际运行时长计费,优惠程度可达40%。

案例:B 用户使用 Ckafka 的消息触发云函数,并将完成过滤及数据格式转换的消息重新投递 Ckafka,配置了256MB的内存,平均运行时长为67ms。在每天 500 万次调用的情况下,原计算方案会产生125000GBs的资源用量。而按实际运行时长计费的方案,产生的资源用量仅为83750GBs,相比降低了37%。

事件转发

将对象存储的事件转发至下游系统,代码的实际执行时间通常仅为50ms - 80ms。按实际运行时长计费,优惠程度可达50%。

案例:C 用户使用云函数将 COS 对象存储的文件上传事件转发至自身的文件处理系统中,配置了128MB内存,函数的平均运行时长为43ms。在每天有20万文件上传的情况下,原计算方案会产生2500GBs的资源用量。而按照实际运行时长计费的方案,产生的资源用量为1075GBs,相比降低了57%。

计费示例

Web 和 API 服务

假设函数配置了 API 网关,通过 URL 请求触发函数运行,每天有10万次请求。云函数配置了128MB内存,每次处理请求的平均运行时间为70ms。

每天的资源使用量及调用次数如下

  • 每天的调用次数:100000次
  • 每天的资源使用量:(128 / 1024)×(70 / 1000)× 100000 = 875GBs

按月30天计算费用如下

  • 资源使用月费用:875 × 30 = 26250GBs,小于40万GBs,不产生费用
  • 调用次数月费用:(100000 × 30 / 10000 - 100)× 0.0133 = 2.66元

在这种情况下,总花费为:调用次数费用2.66元。

消息队列触发

假设函数配置了 Ckafka 触发方式,每秒触发函数3次,配置云函数使用了128MB内存,将消息处理后放入处理后的消息队列,每次处理消息,函数运行时间为260ms。

每天的资源使用量及调用次数如下

  • 每天的资源使用量:(128 / 1024)×(260 / 1000)× 3 × 3600 × 24 = 8424GBs
  • 每天的调用次数: 3 × 3600 × 24 = 259200次

按月30天计算费用如下

  • 资源使用月费用:8424 × 30 = 252720GBs,小于40万GBs,无费用产生
  • 调用次数月费用:(259200 × 30 / 10000 - 100)× 0.0133 = 9.01元

在这种情况下,总花费为:调用次数费用9.01元。

外部文件上传

假设函数由用户使用云 API 直接调用,每分钟调用50次,配置了云函数使用256MB内存,函数每次生成一个1KB大小的文件并上传至用户自建的外部站点上,每次生成及上传文件,函数运行时间为780ms。

每天的资源使用量及调用次数如下

  • 每天的资源使用量:(256 / 1024)×(780 / 1000)× 50 × 60 × 24 = 14040GBs
  • 每天的调用次数:50 × 60 × 24 = 72000次
  • 每天的流量:1 × 50 × 60 × 24 = 72000KB = 70.31MB

按月30天计算费用如下

  • 资源使用月费用:(14040 × 30 - 400000)× 0.00011108 = 2.35元
  • 调用次数月费用:(72000 × 30 / 10000 - 100)× 0.0133 = 1.54元
  • 外网出流量费用:(70.31 × 30 / 1024)× 0.8 = 1.65元

在这种情况下,总花费为:资源使用费用2.35元 + 调用次数费用1.54元 + 外网出流量费用1.65元 = 5.54元。

预置并发闲置费用

预置并发闲置费用独立于其他三个计费项,配置预置并发后对已经配置并启动、但未使用的实例收取少量闲置费用。本文只对该计费项进行介绍,以下用一个并发波动较为强烈,同时调整了预置并发配额为例,详细说明预置并发的闲置计费。

案例:D 函数版本配置内存为256MB,假设每分钟的并发数未产生变化。在18:01配置了100预置实例。由于业务出现增长,在18:07将预置配置提升到120。在18:10时又将预置配置降低到80。以18:01这1分钟为例,这1分钟预置实例为100个,实际并发为30个,则:

  • 闲置实例数 = 100 - 30 = 70
  • 资源闲置量 = 闲置实例数 × 配置内存 × 闲置时长 = 70 × 256MB × 60s = 70 ×(256 / 1024)GB × 60s = 1050GBs
  • 产生的预置并发闲置费用 = 资源闲置量 × 预置并发闲置量定价 = 1050GBs × 0.00005471元/GBs = 0.057元

同上述案例计算方式,可计算 A 函数这10分钟的详细计费,得出这10分钟内累积闲置费用为0.153元。如下表所示:

计算项 18:01 18:02 18:03 18:04 18:05 18:06 18:07 18:08 18:09 18:10 总计
预置并发配置数 100 100 100 100 100 100 120 120 120 80 -
该版本并发数 30 66 88 100 120 150 180 160 100 30 -
闲置实例数 70 34 12 0 0 0 0 0 20 50 -
闲置费用 0.057 0.028 0.010 0.000 0.000 0.000 0.000 0.000 0.016 0.041 0.153
目录