检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义镜像函数执行失败报“CrashLoopBackOff” 若出现“CrashLoopBackOff: The application inside the container keeps crashing”错误字段: 请根据页面提示信息诊断原因。 图1 查看执行结果 请参见使
启动函数流 函数流配置完成后,需要启动函数流才能完成业务功能实现。 约束与限制 当函数流的配置有改动后,必须先保存信息,才能启动函数流任务。 启动函数流 在函数流编排页面右上角单击“启动”或在函数流列表页面选择“更多 > 启动”,弹出的启动执行页面。 在弹出的启动执行页面,支持定
禁用/启动函数快照 功能介绍 禁用/启动函数快照,仅支持java运行时函数,且为非latest版本才能开启函数快照功能。 调用方法 请参见如何调用API。 URI POST /v2/{project_id}/fgs/functions/{function_urn}/snapshots/{action}
用户需要为函数的冷启动时间付费吗? 不需要,冷启动时间不会被计量,因此用户无需为冷启动时间付费。 父主题: 产品咨询
是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。 父主题: 产品咨询
函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小? 请在函数请求返回界面查看。 图1 查看oom内存大小 父主题: 调用函数
配置函数的快照式冷启动 FunctionGraph支持基于进程级快照的冷启动加速方案,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该方案带来的冷启动性能提升。 当用户的Java函数启用快照式冷启动后,FunctionGraph会预先执行函数对应的初始化代码,获
通常称为 “冷启动时间”。在Serverless架构中,冷启动问题是无法避免的。 目前FunctionGraph已经对系统侧的冷启动做了大量优化,针对用户侧请参考如下方案。 选择合适的内存 在请求并发量一定的情况下,函数内存越大,分配的CPU资源相应越多,一般冷启动表现越优。 快照冷启动
函数执行超时的可能原因有哪些? 自身代码执行逻辑超时,建议优化代码或增加超时时间。 网络请求超时,建议增加超时时间。 函数进行冷启动时,Java加载类时间过长,建议增加超时时间或增加内存。 父主题: 调用函数
请求列表:支持设置请求ID、调用结果(执行成功、执行失败)、原因分析(初始化失败、加载失败、系统错误、调用超时、内存超限、磁盘超限、代码异常)。 请求日志:支持关键字、请求ID、实例ID。 表3 调用结果 调用结果 说明 执行成功 函数执行成功打印的日志。 执行失败 函数执行失败打印的日志,包含调用超时、内存超限、磁盘超限、代码异常四种情况。
rap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。 bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap 作为启动文件名称,其它名称将无法正常启动服务,bootstrap启动文件请参见bootstrap文件示例。
其中1、2和3是系统层面的冷启动开销,通过对调度以及各个环节的优化,函数服务能做到负载快速增长时稳定的延时。4是函数内部初始化逻辑,属于应用层面的冷启动开销,例如深度学习场景下加载规格较大的模型、数据库场景下连接池构建、函数依赖库加载等等。 为了减小应用层冷启动对延时的影响,Funct
为什么首次调用函数时速度会比较慢? 因为函数是冷启动的,所以如果有初始化或者函数中有第一次执行比较耗时的操作(例如加载函数代码及依赖包),第一次请求会比较慢,后面接着的请求就会很快,因为此时容器还没有销毁。如果间隔一分钟没有请求,容器就会销毁。 如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言
同步执行工作流 功能介绍 以同步执行方式启动工作流(仅快速模式工作流支持),暂不支持国际站局点调用 调用方法 请参见如何调用API。 URI POST /v2/{project_id}/fgs/workflows/{workflow_id}/sync-executions 表1 路径参数
异常处理控制器组件用于控制函数执行失败后的下一步流程,当函数流里面的函数执行异常时,可以通过“异常处理”来处理执行失败的函数并可添加重试。函数执行失败可分为多种情况:函数执行异常;函数内部业务失败并在返回内容中添加了错误码,例如status,200代表成功,500和404等代表失败。 约束与限制
遥测是一种特殊的扩展,扩展进程中必须完成以下工作才能成功启用遥测功能: 在使用OpenTelemetry API之前,需要先注册拓展,具体内容可参考扩展API使用。 在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry API的请求。 创建一个httpServer遥测侦听器,
响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。 失败重试:用户代码异常造成的失败,FunctionGraph默认不重试。如果函数中有需要重试的场景,例如调用三方服务经常失败,可配置重试提升成功率。
件的代码,不然会导致无法下载字体文件的错误,参见图2并删除红框标出的内容。 图2 删除相关代码 构建项目。 npm run build 图3 构建项目 构建完成后目录内容如下: 图4 项目构建成功后目录内容 创建启动脚本。 创建名为“bootstrap”的启动脚本,并修改bootstrap文件内容如下:
操作说明 操作项 说明 编辑 在函数流任务卡片或列表中,单击“编辑”,进入函数流编辑页面,更新修改函数流任务信息。 启动 在函数流任务卡片或列表中,单击“更多 > 启动”,启动该函数流任务。 删除 支持单个删除任务:在函数流任务卡片或列表中,单击“更多 > 删除”,删除该函数流任务。
降低冷启动概率,优化函数处理时延:例如并发三个请求,不配置单实例多并发,FunctionGraph默认启动三个实例处理请求,会有三次冷启动。若配置了单实例支持三并发,三个并发请求,FunctionGraph只启动一个实例处理请求,减少了两次冷启动。 减少总请求处理时长,节省费用:单实例单并发下,多个请求的总处理时