Skip to content

Autoscaler is too slow (or run too seldom) #658

Closed
@lechbaczynski

Description

@lechbaczynski
  • Horizon Version: 3.3.2
  • Laravel Version: 5.8.34
  • PHP Version: 7.2.19
  • Redis Driver & Version: predis 1.1.1
  • Database Driver & Version: mysql

Description:

Supervisor with 6 queues and 1800 processes (3 other supervisors running too, but with not much workers and jobs).
Starts with 300 processes, then the numbers go down.

There is a lot of jobs in one queue, yet the number of workers rises very slowly. It may take over half an hour to an hour to rise. Although all other queues are empty.
(in the image below there were some jobs in other queues, but even if other queues are empty, the number of workers rises slowly - here it rose to 1300, but it took long time)

image

Steps To Reproduce:

Make a supervisor like

'supervisor-1' => [
                'connection' => 'redis',
                'queue' => [
                    'one', 'two', 'three',
                    'four', 'five', 'six'
                ],
                'balance' => 'auto',
                'processes' => 1800, // even multiply of number of queues
                'min_processes' => 2,
                'tries' => 5,
                'timeout' => 550,
                'memory' => 512,
            ],

The number of workers will decrease from 300.
Add 100.000 jobs in one queue, and make each job run for random(5,200) seconds.
The queue workers number will rise slowly.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions