我有一个创建jedispool的功能,
final JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(25);
poolConfig.setMaxIdle(20);
poolConfig.setMinIdle(20);
poolConfig.setTestOnBorrow(false);
poolConfig.setTestOnCreate(true);
poolConfig.setTestOnReturn(true);
poolConfig.setTestWhileIdle(false);
poolConfig.setMinEvictableIdleTimeMillis(-1);
poolConfig.setTimeBetweenEvictionRunsMillis(-1); // don't evict
poolConfig.setNumTestsPerEvictionRun(-1);
poolConfig.setBlockWhenExhausted(false);
poolConfig.setLifo(false);
return poolConfig;
我正在使用下面的池中获取客户端。我看到有时甚至在 100-500 毫秒内,有时在 30 毫秒内也有很高的延迟,以便从池中获取客户端。我正在使用 52 rps 进行测试,配置为 20 个空闲连接和 25 个最大连接。能够处理 ~600rps .. 知道什么会导致延迟吗?如果在池级别有任何调整来验证?
Instant instant = Instant.now();
Instant getFromPool = null;
try (final Jedis jedis = jedisPool.getResource()){
getFromPool = Instant.now();
}