计算方案案例
当前云函数的资源用量,是按照函数的配置内存乘以触发时的实际运行时长进行计费。相较于原方案向上对齐 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 = 26250 GB,小于 100 万 GBs,免费额度之内不产生计费。
调用次数月费用:(100000 × 30 / 10000 - 100)× 0.0133 = 2.66 元 ,小于 100 万次调用次数不产生费用,超出部分按量计费。
在这种情况下,总花费为:调用次数费用 2.66 元。
资源使用月费用:875 × 30 = 26250 x 0.00011108 = 2.91元
调用次数月费用:(100000 × 30 / 10000 )× 0.0133 = 3.99元,
在这种情况下,总花费为:资源使用费用 2.91 +调用次数费用 3.99 元 = 6.9元。
消息队列触发
假设函数配置了 Ckafka 触发方式,每秒触发函数 3 次,配置云函数使用了 128MB 内存,将消息处理后放入处理后的消息队列,每次处理消息,函数运行时间为 260ms。
每天的资源使用量及调用次数如下:
每天的资源使用量:(128 / 1024)×(260 / 1000)× 3 × 3600 × 24 = 8424GBs
每天的调用次数: 3 × 3600 × 24 = 259200 次
按月 30 天计算费用如下:
资源使用月费用:8424 × 30 ,小于 100 万 GBs,无费用产生。
调用次数月费用:(259200 × 30 / 10000 - 100)× 0.0133 = 9.01 元,小于 100 万次调用次数不产生费用,超出部分按量计费。
在这种情况下,总花费为:调用次数费用 9.01 元。
资源使用月费用:(8424 × 30)× 0.00011108 = 28.07 元
调用次数月费用:(259200 × 30 / 10000 )× 0.0133 = 10.34 元
在这种情况下,总花费为:资源使用费用 28.07 元 + 调用次数费用 10.34 元 = 38.41 元。
外部文件上传
假设函数由用户使用云 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 = 421200GBs,小于 100 万 GBs,不产生费用。
调用次数月费用:(72000 × 30 / 10000 - 100)× 0.0133 = 1.54 元,小于 100 万次调用次数不产生费用,超出部分按量计费。
外网出流量费用:(70.31 × 30 / 1024 - 2)× 0.8 = 0.05 元,小于 2GB 外网出流量不产生费用,超出部分按量计费。
在这种情况下,总花费为:调用次数费用 1.54 元 + 外网出流量费用 0.05 元 = 1.59 元。
资源使用月费用:14040 × 30× 0.00011108 = 46.78 元
调用次数月费用:72000 × 30 / 10000 × 0.0133 = 2.87 元
外网出流量费用:70.31 × 30 / 1024 × 0.8 = 1.65 元
在这种情况下,总花费为:资源使用费用 46.78 元 + 调用次数费用 2.87 元 + 外网出流量费用 1.65 元 = 51.3 元。
预置并发闲置费用
预置并发闲置费用独立于其他四个计费项,配置预置并发后对已经配置并启动、但未使用的实例收取少量闲置费用。本文只对该计费项进行介绍,以下用一个并发波动较为强烈,同时调整了预置并发配额为例,详细说明预置并发的闲置计费。
案例 1:内存为 128MB 的函数版本,其预置并发配额为 1280MB(10 个),假设每秒平均调用 50 次,函数每次生成一个 1KB 大小的文件并上传至用户自建的外部站点上。在 10 秒内,该版本的并发数为 8 个,即:
闲置实例数 = max(10 - 8, 0) = 2
配置内存 = 128MB
闲置时长 = 10s
预置并发闲置量定价 = 0.00005471 元/GBs
预置并发闲置费用 = 2 × 128 / 1024GB × 10s × 0.00005471 元/GBs = 0.00013678 元
按量计费费用:
已知,资源使用量及调用次数定价如下:
资源使用量 | 0.00011108 元/GBs |
调用次数 | 0.0133 元/万次 |
外网出流量 | 0.8 元/GB |
则按量计费费用如下:
资源使用量:(128 x 8 / 1024)×10× 50 = 500GBs,小于 100 万 GBs,不产生费用。
调用次数:50 × 10 = 500 次,小于 100 万次(事件函数和 Web 函数各 100 万次),不产生费用。
流量:1 × 50 × 10= 500KB ,小于 2GB,不产生费用。
在这种情况下,按量计费费用为 0。总费用 = 按量计费费用 + 预置并发闲置费用 = 0 + 0.00013678 元 = 0.00013678 元。
资源使用量:(128 × 8 / 1024)×10× 50 x 0.00011108 = 0.06 元
调用次数:50 × 10 / 10000 × 0.0133 = 0.0007 元
流量:1 × 50 × 10 /1024 × 0.8= 0.39 元
在这种情况下,按量计费费用 = 0.06 + 0.00007 +0.39=0.45 元。总费用 = 按量计费费用 + 预置并发闲置费用 = 0.45 + 0.00013678 元 = 0.45013678 元。
案例 2:A 函数版本配置内存为 256MB,假设每分钟平均调用 50 次,函数每次生成一个 1KB 大小的文件并上传至用户自建的外部站点上。在 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 元
按量计费费用:
资源使用量:256 / 1024 ×100 ×60 ×50 = 75000GBs,小于 100 万 GBs,不产生费用。
调用次数:50 × 60 = 3000 次,小于 100 万次(事件函数和 Web 函数各 100 万次)
流量:1 × 50 × 60= 3000KB ,小于 2GB,不产生费用。
在这种情况下,按量计费费用为 0 元。总费用 = 按量计费费用 + 预置并发闲置费用 = 0 + 0.057 元 = 0.057 元。
资源使用量:256 / 1024 ×100 ×60 ×50 × 0.00011108= 8.331元
调用次数:50 × 60 / 10000 × 0.0133 = 0.00399
流量:1 × 50 × 60 /1024 × 0.8= 0.39 元
在这种情况下,按量计费费用 = 8.331+0.000399+0.39=8.721399元 ,总费用 = 按量计费费用 + 预置并发闲置费用 = 8.721399 + 0.057 元 = 8.778399 元。
同上述案例计算方式,可计算 A 函数这 10 分钟的详细计费,得出这 10 分钟内累积闲置费用为 0.153 元,总计费为 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 |
按量计费费用 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |