Azure函数与Java:高效配置batchSize和newBatchThreshold

Azure函数与Java:高效配置batchSize和newBatchThreshold,azure,azure-functions,Azure,Azure Functions,当函数由Java上的队列触发时,我正在考虑使用这种解决方案。我试图理解如何更有效地配置batchSize和newBatchThreshold。我想在下面提到我设法找到的有关它的信息。如果您发现我的推理有错误,请立即纠正我: 函数在1个CPU核心环境上执行 函数默认情况下以16大小批量轮询队列中的消息,并以并行方式执行它们(文档右侧) 因此,我的结论是: 如果消息需要CPU密集型任务,则按顺序执行这些任务 因此,我的结论是: 由于消息处理在同一时间开始(批处理到达时),因此处理更多的最后消息需要越

当函数由Java上的队列触发时,我正在考虑使用这种解决方案。我试图理解如何更有效地配置batchSize和newBatchThreshold。我想在下面提到我设法找到的有关它的信息。如果您发现我的推理有错误,请立即纠正我:

  • 函数在1个CPU核心环境上执行
  • 函数默认情况下以16大小批量轮询队列中的消息,并以并行方式执行它们(文档右侧) 因此,我的结论是:

  • 如果消息需要CPU密集型任务,则按顺序执行这些任务 因此,我的结论是:

  • 由于消息处理在同一时间开始(批处理到达时),因此处理更多的最后消息需要越来越长的时间(实验确认)
  • 所有这些越来越长的处理都是可计费的(尽管函数的主体执行时间减少了10倍) 因此,我的结论是:

  • 对于CPU密集型任务,应该将batchSize和newBatchThreshold都设置为1,并且只能对非CPU密集型任务(看起来像是IO密集型任务)进行更改

  • 这有意义吗?

    我从未想过这一点,但听起来很合理