codecamp

微信小程序云开发 重要概念

重要概念

在此提供云开发的一些重要概念解释,掌握这些概念对理解云开发和其开发模式非常重要:

1.资源环境

一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等资源。各个环境是相互独立的,用户开通云开发后即创建了一个环境,默认可拥有最多两个环境。在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境。

为了方便开发者调试,从开发者工具 1.02.1905302 及基础库 2.7.1 起,在 wx.cloud.init 后会在调试器中输出 SDK 中所使用的默认环境:

devtools-network-cloud-init

同时,在 Network 面板中会输出各个云开发操作的请求详情,其中包括该调用所请求的环境 ID:

devtools-network-env


2.配额说明

资源配额

以下为云开发各类资源配额指标,由腾讯云 TCB 提供存储和计算服务。 用户可通过下载最新的微信开发者工具使用该功能。 资源配额可分为三类:资源均衡型、CDN 资源消耗型、云函数资源消耗型、数据库资源消耗型。

资源均衡型

分类参数基础版 1基础版 2专业版 1专业版 2专业版 3旗舰版 1旗舰版 2旗舰版 3企业版 1
存储容量5GB10GB50GB100GB300GB500GB700GB1000GB1300GB
下载操作次数150万/月200万/月750万/月1500万/月2500万/月3750万/月4500万/月5000万/月6000万/月
上传操作次数60万/月100万/月300万/月600万/月1000万/月1500万/月2000万/月2500万/月3000万/月
CDN回源流量15GB/月10GB/月50GB/月150GB/月300GB/月500GB/月600GB/月800GB/月1000GB/月
CDNCDN流量5GB/月25GB/月50GB/月150GB/月300GB/月500GB/月1000GB/月2000GB/月4000GB/月
云函数资源使用量GBs34万/月20万/月40万/月150万/月300万/月400万/月1500万/月3000万/月4000万/月
外网出流量1GB/月3GB/月5GB/月10GB/月20GB/月25GB/月100GB/月200GB/月400GB/月
数据库容量2GB3GB5GB10GB20GB10GB50GB100GB200GB
同时连接数42050100200300400500500500
读操作数5万/天25万/天50万/天150万/天300万/天500万/天1000万/天2000万/天5000万/天
写操作数3万/天15万/天30万/天100万/天200万/天300万/天500万/天1000万/天3000万/天
集合限制100个150个200个300个400个400个500个600个800个
总价免费30 元/月104 元/月390 元/月690 元/月860 元/月2,499 元/月4,699 元/月8,999 元/月

CDN 资源消耗型

分类参数CDN 版 1CDN 版 2CDN 版 3
存储容量50GB100GB500GB
下载操作次750万/月1500万/月3750万/月
上传操作次数300万/月600万/月1500万/月
CDN回源流量50GB/月150GB/月500GB/月
CDNCDN流量500GB/月3072GB/月10240GB/月
云函数资源使用量GBs20万/月50万/月150万/月
外网出流量3GB/月5GB/月10GB/月
数据库容量3GB5GB10GB
同时连接数50100200
读操作数25万/天50万/天150万/天
写操作数15万/天30万/天100万/天
集合限制150个200个300个
总价149 元/月690 元/月2,199 元/月

云函数资源消耗型

分类参数云函数版 1云函数版 2云函数版 3
存储容量5GB10GB50GB
下载操作次数150万/月200万/月750 万/月
上传操作次数60万/月100 万/月300万/月
CDN回源流量5GB/月10GB/月50GB/月
CDNCDN流量5GB/月25GB/月150GB/月
云函数资源使用量GBs40万/月400万/月1500万/月
外网出流量5GB/月25GB/月100GB/月
数据库容量3GB10GB20GB
同时连接数50200300
读操作数25万/天150万/天300万/天
写操作数15万/天100万/天200万/天
集合限制150个300个400个
总价79 元/月390 元/月1,299 元/月

数据库资源消耗型

分类参数数据库版 1数据库版 2数据库版 3
存储容量5GB10GB50GB
下载操作次数150万/月200万/月750 万/月
上传操作次数60万/月100 万/月300万/月
CDN回源流量5GB/月10GB/月50GB/月
CDNCDN流量5GB/月25GB/月50GB/月
云函数资源使用量GBs20万/月150万/月400万/月
外网出流量3GB/月10GB/月25GB/月
数据库容量5GB50GB200GB
同时连接数100400500
读操作数50万/天500万/天5000万/天
写操作数30万/天300万/天3000万/天
集合限制200个400个800个
总价69 元/月590 元/月1,799 元/月

除以上配额参数外,小程序·云开发资源还包括以下系统参数限制(所有版本配额都遵守相同的系统参数限制):

  • 云函数(单次运行)运行内存:256M5
  • 云函数数量:50个
  • 云函数并发数:10006
  • 数据库流量:单次出包大小为16M
  • 数据库单集合索引限制:20个
  • 单个小程序的小程序端请求频率限制:100 万次/分钟

注:

  1. CDN回源流量:指开启了 CDN 加速后,CDN 回源存储时产生的流量。
  2. 云函数调用次数:已放开调用次数限制,现所有套餐均改为无限调用次数
  3. 云函数资源使用量 GBs:资源使用量 = 函数配置内存 X 运行计费时长。用户资源使用量,是由函数配置内存,乘以函数运行时的计费时长得出,其中配置内存转换为 GB 单位,计费时长由毫秒(ms)转换为秒(s)单位,因此,资源使用量的计算单位为 GBs(GB-秒)。例如,配置为 256MB 的函数,单次运行了 1760 ms,计费时长为 1800 ms,则单次运行的资源使用量为 (256/1024)*(1800/1000) = 0.45 GBs。针对函数的每次运行,均会计算资源使用量,并按月汇总求和,作为当月的资源使用量。
  4. 数据库同时连接数 :数据库请求并发数量,如同时有三十个数据库操作请求,则有二十个会同时执行,剩下十个返回超出并发错误;一次数据库请求(无论小程序端发起还是云函数端发起)将耗费一个连接;每个云环境分别有一个同时连接数限制、独立计数。假如数据库查询平均耗时 10ms,那么一个连接可以支持 100qps(1000ms/10ms=100),20个连接可以支持到 2000qps。
  5. 云函数(单次运行)运行内存:云函数运行时最大可用内存为 256 MB。在云函数运行日志中展示的运行内存信息,为当次运行时的实际使用内存。实际使用内存可能低于最大可用内存,计费时按配置内存即 256 MB 计算。
  6. 云函数同时连接数:已放开同时连接数限制,现所有套餐均改为统一的最大上限 1000

服务等级协议

小程序·云开发由腾讯云 TCB 提供存储和计算服务,因此小程序·云开发遵循《腾讯云云开发服务等级协议(SLA)》中的相关规定。

对于已购买云开发套餐并已产生费用的客户,如服务可用性低于标准,开发者有权根据服务等级协议中的赔偿方案,通过相应账户的 工单 申请赔付。具体可用性计算规则、赔偿标准和申请方式遵循《腾讯云云开发服务等级协议(SLA)》中的规定。

特别说明

  • 自付费功能上线起,将不再受理通过邮箱申请的小程序·云开发配额调整申请。
  • 对于截止2019-06-21日前申请调整的配额的截止日期统一延长至2019-08-31。


微信小程序云开发 云开发能力
微信小程序云开发 插件支持
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小程序 指南

目录结构

开放能力

微信小程序 调试

微信小程序 实时日志

微信小程序 小程序测速

微信小程序 基础组件

微信小程序 API

媒体

界面

微信小程序API 绘图

微信小程序 服务端

接口调用凭证

统一服务消息

微信小程序 服务市场

微信小程序 生物认证

微信小程序 云开发

服务端

微信小程序云开发服务端API 数据库

SDK文档

微信小程序 扩展能力

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }