函数工作流 FUNCTIONGRAPH-配置函数的并发处理:单实例单并发与单实例多并发的对比
单实例单并发与单实例多并发的对比
当一个函数执行需要花费5秒,若配置为单实例单并发,三次函数调用请求分别在三个函数实例执行,总执行时长为15秒。
若配置为单实例多并发,设置单实例并发数为5,即单个实例最多支持5个并发请求,如果有三次函数调用请求,将在一个实例内并发处理,总执行时间为5秒。
单实例并发数大于1,在您设置的“单函数最大实例数”范围内,超过单实例并发处理能力时会自动扩容新实例。
对比项 |
单实例单并发 |
单实例多并发 |
---|---|---|
日志打印 |
- |
Node.js Runtime使用console.info()函数,Python Runtime使用print()函数,Java Runtime使用System.out.println()函数打印日志,该方式会把当前请求的Request ID包含在日志内容中。当多请求在同一个实例并发处理时,当前请求可能有很多个,继续使用这些函数打印日志会导致Request ID错乱。此时应该使用context.getLogger(),获取一个日志输出对象,通过这个日志输出对象打印日志,例如Python Runtime: log = context.getLogger() log.info("test") |
共享变量 |
不涉及 |
单实例多并发处理时,修改共享变量会导致错误。这要求您在编写函数时,对于非线程安全的变量修改要进行互斥保护。 |
监控指标 |
按实际情况进行监控。 |
相同负载下,函数的实例数明显减少。 |
流控错误 |
不涉及 |
太多请求时,body中的errorcode为“FSS.0429” ,响应头中的status为429 ,错误信息提示:Your request has been controlled by overload sdk, please retry later。 |
- 调用函数_函数调用方式_函数工作流 FunctionGraph-华为云
- 函数工作流使用流程_Serverless_函数工作流 FunctionGraph-华为云
- API网关有哪些使用场景_API网关作用_API网关APIG-华为云
- 什么是函数工作流_函数托管计算服务_函数工作流 FunctionGraph-华为云
- 数据缓存_数据高并发_数据高可用-华为云
- 使用函数工作流资源成本降低70%_函数能力_函数工作流 FunctionGraph-华为云
- 函数工作流可以做什么_函数工作流有什么优势_函数工作流 FunctionGraph-华为云
- 函数工作流FunctionGraph支持毫秒级响应文件处理_函数工作流_华为云FunctionGraph-华为云
- 使用容器镜像部署函数_函数部署_函数工作流 FunctionGraph-华为云
- 华为云Serverless