The RedisBlockingQueue is polling the Redis server repeatedly to check for new job every 100ms.
Every Worker threads is doing this (4 default, 4elasticsearch, 4 escalation, 1 updateACEStatus, 1 fulltextUpdater, 1 permissionsPurge, 1 collections, 1 audit ...) so more than 17 threads creating more than hundred of requests per second for a single Nuxeo node.
This should be avoided.
Also multiple Redis commands should be pipelined.
The Redis queue implementation generates less requests to Redis and improve performance by prioritizing local worker with potentially warm cache. Also Redis commands are now pipelined reducing the number of Redis roundtrip.