Read more

How to fix parallel_tests with Redis on powerful machines

Daniel Straßner
March 21, 2019Software engineer at makandra GmbH

When you have a powerful machine with many CPU cores, you might run into an error like

ERR DB index is out of range (Redis::CommandError)
Illustration UI/UX Design

UI/UX Design by makandra brand

We make sure that your target audience has the best possible experience with your digital product. You get:

  • Design tailored to your audience
  • Proven processes customized to your needs
  • An expert team of experienced designers
Read more Show archive.org snapshot

This is because Redis defaults to at most 16 databases (0 to 15) and running tests in parallel might exceed that (your tests might run on databases 1..n or 2..(n+1)).

You can increase that limit:

  1. Get number of CPUs of your machine.

    nproc --all
    
  2. Open up Redis configuration file.

    sudo vim /etc/redis/redis.conf
    
  3. Find databases row and increase it, e.g. set to CPU count + 2:

    databases 18
    
  4. Save and close config file, then restart Redis:

    sudo service redis-server restart
    
  5. Confirm your configuration has been updated. The following command should return "OK".

    redis-cli select `nproc --all`
    
Posted by Daniel Straßner to makandra dev (2019-03-21 13:18)