基础配置
前往 云函数 详情页,可对云函数进行基础配置,包括内存配置、超时时间、网络配置等。
内存配置
根据指定的内存分配函数运行时可用的计算资源,CPU按跟随内存的大小,按比例自动分配。
- 说明: 云函数运行时的最大内存限制
- 默认值: 256MB
- 可选范围: 64MB - 3072MB
超时时间
限制调用时函数代码的最大运行时间。超过该时间仍未运行结束时,执行代码将被强制中断。可设置范围为 1~900 秒。
- 说明: 函数最大运行时间,超时将被强制中断
- 默认值: 3秒
- 可选范围: 1秒 - 900秒
网络配置
公网访问
云函数默认开启公网访问能力,您可以根据安全需求选择关闭。关闭后,函数将无法访问公网资源。
固定出口 IP
开启此功能后,云函数将获得一个固定的公网出口 IP,该 IP 会与同一命名空间下其他开启此功能的函数共享。
提示
只有云函数开启公网访问时,固定出口 IP 功能才能生效。
内网访问(VPC 配置)
默认情况下,云函数服务与您的腾讯云账号下的其它资源(如: cvm, mysql, redis 等)内网网络无法互通。如果需要访问其它资源,需要为服务开启内网互联功能。
开通前提:
- 您需要腾讯云私有网络创建 VPC 网段。
- 区域选择
上海区域。 - VPC 网段
子网掩码尽量使用 >= 22。 - 子网
子网掩码尽量<=28, 该子网将被云函数服务占用,请尽量不要在该子网中创建其它资源,以免云函数服务被影响。
提示
- 配置 VPC 后如需外网访问能力,请确认 VPC 网络中配置了 公网网关 或 NAT 网关
- 有关 VPC 网络配置的更多信息,请参考 VPC 私有网络说明
- 关于云函数网络配置的详细说明,请参考 网络配置详情
请求多并发
适用范围
此配置仅适用于 HTTP 云函数类型。
HTTP 云函数支持「请求多并发」功能,允许单个实例同时处理多个请求,可以在以下场景中带来显著收益:
适用场景
- IO 密集型场景:如 WebSocket 长连接业务,可减少计费执行时长,节省费用
- 连接池复用:多个请求并发在同一实例中可复用数据库连接池,减缓下游服务压力
- 降低冷启动:请求并发密集时,多个请求只需要一个实例进行处理,无需拉起多个实例,从而降低实例冷启动几率,降低响应延迟
配置说明
- 默认状态:关闭
- 并发范围:2 - 100 并发
- 配置方式:前往 云开发平台/云函数/函数配置 页面开启并设置最大并发数
提示
合理配置并发数可以有效提升函数性能和资源利用率。对于 IO 密集型业务,建议启用此功能以优化成本。
WebSocket 协议
适用范围
此配置仅适用于 HTTP 云函数类型。
HTTP 云函数支持「WebSocket 协议」,实现服务端与客户端之间的双向实时通信。开启后可配置 WebSocket 连接的超时时间。
配置说明
- 默认状态:关闭
- 超时时间范围:10 - 7200 秒
- 配置方式:前往 云开发平台/云函数/函数配置 页面开启并设置超时时间
代码实现
开启 WebSocket 协议后,需要在云函数代码中实现 WebSocket 处理逻辑:
// 主函数:处理 WebSocket 消息
exports.main = async function (event, context) {
const { ws } = context;
if (ws) {
ws.on('message', (msg) => {
console.log('收到消息:', msg);
ws.send(`服务端回复: ${msg}`);
});
ws.on('close', () => {
console.log('连接已关闭');
});
}
};
// 处理 WebSocket 协议升级
exports.main.handleUpgrade = async function (context) {
// 可在此进行身份验证、权限检查
return {
allowWebSocket: true,
};
};
提示
- WebSocket 连接会长期占用资源,请根据实际业务场景合理配置超时时间
- 详细的 WebSocket 开发指南请参考 使用 WebSocket
- 了解 HTTP 云函数的更多特性请参考 编写 HTTP 云函数
限频配置
云函数支持配置访问限频,帮助您控制函数的调用频率,防止恶意调用和资源滥用:
- 限频规则:可以设置每秒、每分钟或每小时的最大调用次数
- 限频策略:支持基于 IP、用户 ID 等维度进行限频控制
- 超限处理:当调用频率超过限制时,系统会返回相应的错误信息
提示
合理配置限频规则可以有效保护您的云函数免受恶意攻击,同时控制成本。详细配置方法请参考 限频功能配置指南。