Describe the bug

Set io-threads greater than online CPU numbers, the performance drops severely.

To reproduce

  1. taskset -c 0-3 ./redis-server /tmp/redis.conf
port 9001
bind * -::*
protected-mode no
save ""
io-threads 5
io-threads-do-reads yes
  1. Use below command to simulate multiple requests. memtier_benchmark -s 127.0.0.1 -p 9001 \ --data-size 100 --ratio 0:1 \ --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 60

Expected behavior The QPS result should be similar with io-threads 4.

Comment From: madolson

This isn't really a bug, I think we can trust operators to only configure a reasonable number of CPUs. The exact same problem might exist with noisy neighbors if you're running multiple Redis processes on the same physical machine.