gpt4 book ai didi

java - jedispool getResource 消耗太多延迟

转载 作者:行者123 更新时间:2023-12-01 18:31:30 25 4
gpt4 key购买 nike

我有一个创建 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();
}

最佳答案

您可以使用以下方法在池中检查等待线程和最大等待时间。

jedisPool.getNumWaiters();
jedisPool.getMaxBorrowWaitTimeMillis()

但是我认为网络层有问题。

关于java - jedispool getResource 消耗太多延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com