在函数计算中,资源调度与运行以函数为单位进行,不同函数之间相互独立,互不影响。如果您希望根据函数计算定义的接口来编写程序,可以选择创建标准运行时函数。
创建函数
前提条件
- 具备已通过实名认证的天翼云账号
- 已开通函数计算服务
操作步骤
-
登录函数计算控制台,在左侧导航栏,单击【函数】,进入函数列表页面。
-
在函数列表页中,点击【创建函数】按钮,进入函数创建页面。
-
在函数创建页面,选择创建函数的方式,并配置以下配置项,然后单击【确定】。以下操作以使用标准运行时创建函数为例。
基本设置
配置项 | 说明 |
---|---|
函数名称 | 设置函数名称 |
请求处理程序类型 | 请求处理程序类型包括以下两种。 |
处理事件请求:通过定时器、调用API/SDK或其他天翼云服务的触发器来触发函数执行。 | |
处理 HTTP 请求:用于处理 HTTP 请求或WebSocket 请求的函数。如果您的使用场景是Web场景,建议您使用自定义运行时进行创建。 |
函数代码
配置项 | 说明 | 示例 |
---|---|---|
运行环境 | 选择您熟悉的开发语言,目前支持Python、Java、Go、Node.js、Php、.Net。 | Python3.10 |
代码上传方式 | 选择代码上传到函数计算的方式。可以选择示例代码或通过 zip 包上传代码。 | 使用示例代码 |
示例代码 | 选择示例代码。 | 选择内置 python3.10 运行时-event |
高级配置
配置项 | 说明 | 示例 |
---|---|---|
vCPU规格 | 为函数配置运行vCPU规格。 | 0.5 核 |
内存规格 | 为函数配置运行的内存规格。说明: vCPU大小(单位为核)与内存大小(单位为GB)的比例必须设置在1∶1到1∶4之间。 | 512 MB |
临时硬盘大小 | 根据您的业务情况,选择临时存储文件的硬盘大小。 | 512 MB |
实例并发度 | 支持一个实例同时并发执行多个请求,这个值用来配置单个函数实例可以同时处理多少个请求。 | 1 |
执行超时时间 | 设置函数执行的超时时间。 | 64 |
请求处理程序 | 设置请求处理程序,函数计算的运行时会加载并调用您的请求处理程序处理请求。 | index.handler |
时区 | 选择函数的时区。 | UTC |
函数角色 | 选择根据函数所在服务配置的角色。 | CTyunDefaultRole |
允许访问VPC | 是否允许函数访问VPC内资源。 | 否 |
允许函数默认网卡访问公网 | 是否允许函数可以通过默认网卡访问公网。关闭后,当前服务中的函数将无法通过函数计算的默认网卡访问公网。 | 否 |
环境变量
设置函数运行环境中的环境变量。可以使用 json 或表单的形式编辑。
编辑函数
- 点击函数名称,进入函数详情页,您可以在代码页签修改函数代码,对您的代码进行编辑和部署。
- 您可以重新上传代码进行部署,也可以将写好的代码进行导出备份。
删除函数
登录函数计算控制台,单击函数,选择要删除的目标函数,在操作列进行删除。
设置单实例并发度
您可以在函数计算中设置实例并发度,即指定每个函数实例可以同时处理的最大并发请求数。这使您能够在流量高峰期有效管理资源使用,降低冷启动的影响,从而实现提升性能和控制成本的目标。
背景信息
函数计算按实例执行时长计费。假设有3个请求需要同时处理,每个请求都需要10秒,根据不同的并发度设置,执行时长会有所不同。
- 如果实例并发度设置为1,每个实例一次只能处理1个请求,那么函数计算需要创建3个实例来处理这3个请求,总执行时长为30秒。
- 如果实例并发度设置为10,每个实例可以同时处理最多10个请求,那么函数计算只需创建1个实例即可处理这3个请求,总执行时长仅为10秒。
说明
默认情况下,函数的实例并发度为1,这意味着一个实例只能同时处理一个请求。当您将单实例并发度设置为大于1时,函数计算在进行弹性伸缩时,会在充分利用现有实例的并发度后,才会创建新的实例。
实例并发度设置为不同的值时,请求执行的区别如下图所示:
应用场景
单实例多并发功能适用于函数中存在大量等待下游服务响应的场景。由于等待响应通常不消耗资源,通过在一个实例内并发处理,不仅能够节省成本,还能提高应用的响应能力和吞吐量。
优势
- 节省费用并减少执行时长。
例如,对于偏重 I/O 的函数,可以在一个实例内并发处理,从而减少所需实例数量并降低总执行时长。
- 实现请求之间的状态共享。
多个请求可以共用一个实例内的数据库连接池,从而减少与数据库的连接次数。
- 降低冷启动的概率。
由于多个请求能够在一个实例内处理,新实例的创建次数减少,从而降低了冷启动的发生概率。
使用限制
限制项 | 描述 |
---|---|
单实例并发度取值范围 | 1~200 |
操作步骤
您可以在创建或更新函数时,指定函数的单实例并发度。