开发者社区 > 云原生 > Serverless > 正文

函数计算中,如果单示例并发设置为1,不应该起两个实例并行来处理吗?为什么现在是串行的呢?

函数计算中,函数并发示例数设置成1,同时发送两个请求,也只起了一个实例,应用程序日志看到是第一个请求完成后才收到的第二个请求,但我发送请求的时候明明是同时的啊,如果单示例并发设置为1,不应该起两个实例并行来处理吗?为什么现在是串行的呢?

展开
收起
多麻辣哦 2024-01-23 18:49:21 44 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    当函数计算的实例并发度设置为1时,意味着每个实例在任何时刻只能处理一个请求。因此,即使您同时发送了两个请求,也只会有一个实例被启动来处理第一个请求。只有当第一个请求完成后,第二个请求才会被处理,这就是为什么您在应用程序日志中看到的顺序是串行的原因。

    首先,这种设计是为了控制资源使用和成本。如果您希望多个请求能够并行处理,您需要根据实际需求调整实例的并发度设置。例如,将并发度设置为10,那么每个实例可以同时处理10个请求,这样即使有大量请求同时到达,也能保证有足够的实例来并行处理这些请求。

    其次,如果您想要实现真正的并行处理,可以考虑使用诸如Promise.all()这样的方法来并行执行多个请求,或者创建一个请求队列,并设置一个并发数限制来同时处理多个请求。

    总的来说,函数计算中的实例并发度设置决定了每个实例能够同时处理的请求数量。如果设置为1,则实例会按顺序逐个处理请求,而不是并行处理。您可以通过调整并发度设置或使用其他技术手段来实现并行处理的需求。

    2024-01-24 13:56:01
    赞同 展开评论 打赏
  • 要在弹性管理里配一个最大实例才能并行。
    ——此回答整理自钉群:阿里函数计算官网客户

    2024-01-23 21:20:20
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载