Google cloud platform Google云任务队列未并行运行

Google cloud platform Google云任务队列未并行运行,google-cloud-platform,google-cloud-tasks,Google Cloud Platform,Google Cloud Tasks,我在google cloud中有一个项目,其中有两个任务队列:处理请求接收请求并对其进行处理,发送结果将已处理请求的结果发送到另一台服务器。它们都在名为远程处理的实例上运行 我的问题是,我看到任务在send result中排队,但它们仅在process request队列为空且已处理所有请求后执行。 这是实例配置: instance_class: B4 basic_scaling: max_instances: 8 以下是队列配置: - name: send-result max_c

我在google cloud中有一个项目,其中有两个任务队列:
处理请求
接收请求并对其进行处理,
发送结果
将已处理请求的结果发送到另一台服务器。它们都在名为
远程处理的实例上运行

我的问题是,我看到任务在
send result
中排队,但它们仅在
process request
队列为空且已处理所有请求后执行。 这是实例配置:

instance_class: B4

basic_scaling:
  max_instances: 8
以下是队列配置:

- name: send-result
  max_concurrent_requests: 20
  rate: 1/s
  retry_parameters:
    task_retry_limit: 10
    min_backoff_seconds: 5
    max_backoff_seconds: 20
  target: remote-processing

- name: process-request
  bucket_size: 50
  max_concurrent_requests: 10
  rate: 10/s
  target: remote-processing

澄清:我不需要队列按特定顺序运行,但我发现很奇怪,保险似乎一次只运行一个队列,因此它只会在处理完当前队列后运行另一个队列中的任务

这一切发生在什么时期

发送结果
任务相比,
过程请求
任务运行需要多长时间

突出的一点是,您的
处理请求的
速率
远高于
发送结果的
速率。因此,可能有几个
send result
任务正在压缩,但它随后会达到
rate
cap,必须运行
process request
任务

桶大小的注释相同
。与
速率相比,
处理请求的
桶大小
是巨大的:

bucket大小限制了在处理多个任务时队列的处理速度 在队列中,并且速率很高。铲斗的最大值 尺寸是500。这允许您拥有较高的速率,以便开始处理 任务入队后不久,但在 许多任务在短时间内排队

如果不为队列指定bucket_大小,则默认值为5。 我们建议您将其设置为更大的值,因为默认值为 对于许多用例,大小可能太小:建议的大小为 处理速率除以5(速率/5)

另外,通过设置
max_instances:8
这些队列中是否会积累大量积压的工作

让我们尝试两件事:

  • bucket\u size
    rate
    设置为与
    处理请求
    发送结果
    相同。如果修复了它,那么开始摆弄这些值以获得所需的平衡
  • 启动
    max_实例:8
    ,查看移除瓶颈是否可以解决问题

  • 这一切发生在什么时期

    发送结果
    任务相比,
    过程请求
    任务运行需要多长时间

    突出的一点是,您的
    处理请求的
    速率
    远高于
    发送结果的
    速率。因此,可能有几个
    send result
    任务正在压缩,但它随后会达到
    rate
    cap,必须运行
    process request
    任务

    桶大小的注释相同
    。与
    速率相比,
    处理请求的
    桶大小
    是巨大的:

    bucket大小限制了在处理多个任务时队列的处理速度 在队列中,并且速率很高。铲斗的最大值 尺寸是500。这允许您拥有较高的速率,以便开始处理 任务入队后不久,但在 许多任务在短时间内排队

    如果不为队列指定bucket_大小,则默认值为5。 我们建议您将其设置为更大的值,因为默认值为 对于许多用例,大小可能太小:建议的大小为 处理速率除以5(速率/5)

    另外,通过设置
    max_instances:8
    这些队列中是否会积累大量积压的工作

    让我们尝试两件事:

  • bucket\u size
    rate
    设置为与
    处理请求
    发送结果
    相同。如果修复了它,那么开始摆弄这些值以获得所需的平衡
  • 启动
    max_实例:8
    ,查看移除瓶颈是否可以解决问题