Увеличение размера пула в JEDIS повлияет на производительность Redis? - PullRequest
1 голос
/ 10 января 2020

Рассмотрим сценарий, которому моему приложению нужно только 100 соединений jedisPool для получения данных с сервера redis. Что произойдет, если я настрою максимальный размер пула 500, имея в виду, что моему приложению в будущем потребуется больше подключений. Влияет ли это на производительность Redis. Если да, то какова серьезность этой проблемы?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Максимальное количество клиентов по умолчанию для Redis - 10000, вы можете проверить его с помощью CONFIG GET maxclients. Так что, если вы когда-нибудь получите 500 соединений, это вполне управляемо. Если у вас будет несколько клиентов Jedis, рассмотрите узлы продукта * maxTotal. См. https://redis.io/topics/clients

Можно ожидать мягкого снижения производительности при увеличении количества клиентов. Возможно, вы захотите запустить несколько тестов .

Я пробовал redis-benchmark -t set -r 100000 -n 1000000 -c 500, где -c 500 - количество клиентов. С 50 до 500 клиентов я получил на 12% меньше запросов в секунду.

Проверьте это для Оптимизация JedisPool .

0 голосов
/ 10 января 2020

Насколько я понимаю, максимальный размер пула - это просто максимальный лимит. Если вы установите его на 500, а вашему приложению нужно только 100, пул фактически не будет создавать 500 подключений в нем. Так что я думаю, что это не повлияет на проблемы с производительностью в вашем случае. И есть другие параметры для управления соединениями: config.setMaxIdle (); config.setMaxTotal (); Вы можете сделать тест и использовать cmd «info» для просмотра соединений.

...