У меня есть Redis Cluster из 3 основных узлов версии 3.0.3, размещенных на 3 экземплярах EC2 t2.medium. Когда я сижу на 4-й экземпляр для измерения SET, GET производительности с помощью redis-benchmark
, яRedis Cluster mode медленнее, чем автономный
$ redis-benchmark -h redis-com-01 -p 6379 -t set,get -n 1000000
====== SET ======
...
33550.29 requests per second
====== GET ======
...
32353.04 requests per second
$ redis-benchmark -h redis-com-02 -p 6379 -t set,get -n 1000000
====== SET ======
...
36329.29 requests per second
====== GET ======
...
37199.61 requests per second
$ redis-benchmark -h redis-com-03 -p 6379 -t set,get -n 1000000
====== SET ======
...
32338.39 requests per second
====== GET ======
...
32169.86 requests per second
Но, когда я использую эталонный инструмент simple.py
от https://github.com/Grokzen/redis-py-cluster для измерения SET, GET производительность всего кластера, я «м вполне удивляют результат
$ python simple.py --host redis-com-03 --port 6379 --timeit
10k SET/GET operations took: 4.3375210762 seconds... 2305.46430192 operations per second
20k SET/GET operations took: 8.5704600811 seconds... 2333.59700772 operations per second
40k SET/GET operations took: 17.3284561634 seconds... 2308.34181781 operations per second
Я уже следовал контрольный http://redis.io/topics/latency. Все узлы настроены с помощью AOF, fsync каждую секунду. Разница в производительности записи необъяснима для меня. Может ли кто-нибудь дать мне понять, почему и если возможно, как это исправить? Любая помощь приветствуется.
Благодаря вашему совету, я просто попытался подчеркнуть этот кластер, используя 64 процесса, а общая производительность составляет ~ 42k ops/s. Когда я добавил еще 1 узел для генерации нагрузки (всегда используя 64 процесса/узел), общая производительность составляет ~ 75 тыс. Операций/с. –
Это хорошо, вы все еще не видите полную производительность, поскольку 64 процесса на Python записывают значительное количество CPU для выполнения вместо того, чтобы создавать нагрузку. Чем раньше я дам «redis-benchmark», который знает о кластере, тем лучше. Благодарю. – antirez