queue icon indicating copy to clipboard operation
queue copied to clipboard

performance: possible degradation after a lot of releases

Open Totktonada opened this issue 6 years ago • 3 comments

@andrew-statsenko proposed to verify the following case against possible performance degradation.

  1. 1000 puts;
  2. 100 take+ack;
  3. 900 take+release;
  4. Repeat from 1.

Totktonada avatar Dec 04 '19 00:12 Totktonada

@LeonidVas AFAIR, you tried to reproduce it, but without lack. Can you share your approach (maybe scripts, workload sizes) and results?

Totktonada avatar Jul 07 '20 16:07 Totktonada

From @andrew-statsenko:

...наш кейс:

— в очередь (стоковый tarantool/queue, master) с постоянной скоростью ставятся (put) новые задачи с примерной скоростью 300-500 rps в зависимости от текущей нагрузки. — обработчики очереди, go client, 1024 goroutines, поднимают (take) задачи, их обрабатываются и делают им ack.

В силу некоторых ограничений дальнейшей цепи обработки поставленных задач мы не процессим более 10 rps от одного пользователя и при превышении этого лимита задачи возвращаются обратно в очередь (release with delay). Периодически случаются ситуации, когда очередь «забивается» задачами от одного пользователя и доля задач, которым обработчик делает relase with delay может достигать 50-70-90% на очередь. В это время наблюдается сильная деградация скорости обработки очереди — скорость take’а задач падает более, чем на порядок.

LeonidVas avatar Jul 07 '20 17:07 LeonidVas

@LeonidVas AFAIR, you tried to reproduce it, but without lack. Can you share your approach (maybe scripts, workload sizes) and results?

I don't tried to reproduce it.

LeonidVas avatar Jul 07 '20 17:07 LeonidVas