Я использую клиент Jedis для подключения к моему серверу Redis. Ниже приведены параметры, я использую для подключения Jedis (используя апачский общий пул):Настройки подключения jedis для высокой производительности и надежности
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setTestOnBorrow(true);
poolConfig.setTestOnReturn(true);
poolConfig.setMaxIdle(400);
// Tests whether connections are dead during idle periods
poolConfig.setTestWhileIdle(true);
poolConfig.setMaxTotal(400);
// configuring it for some good max value so that timeout don't occur
poolConfig.setMaxWaitMillis(120000);
До сих пор с ними настройки я не предъявляются какие-либо проблемы с точки зрения надежности (я всегда могу получить Jedis когда я хочу), но я вижу некоторое отставание от работы Джедайса.
Может ли кто-нибудь предложить мне еще одну оптимизацию для достижения высокой производительности?
Какая часть вас интересует? Могут быть сетевые обратные вызовы, которые можно опускать, если вы используете конвейерные или lua-скрипты. Redis довольно быстро, так что не должно быть. Определен ли ваш пул множеством экземпляров jedis? Если слишком много компонентов запрашивают синтаксически для экземпляра jedis, он будет блокировать задачи, поскольку для всех ресурсов недостаточно. Вы можете это проверить? – zenbeni