Skip to content

Commit 58e2d42

Browse files
committed
feat(proxy): support setting info command executor config (#411)
1 parent 6a5af86 commit 58e2d42

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

  • camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/info

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/info/ProxyInfoUtils.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.netease.nim.camellia.core.constant.CamelliaVersion;
55
import com.netease.nim.camellia.core.util.ReadableResourceTableUtil;
66
import com.netease.nim.camellia.redis.proxy.command.Command;
7+
import com.netease.nim.camellia.redis.proxy.conf.ProxyDynamicConf;
78
import com.netease.nim.camellia.redis.proxy.netty.GlobalRedisProxyEnv;
89
import com.netease.nim.camellia.redis.proxy.upstream.IUpstreamClientTemplateFactory;
910
import com.netease.nim.camellia.redis.proxy.upstream.UpstreamRedisClientTemplate;
@@ -21,6 +22,8 @@
2122
import com.netease.nim.camellia.redis.proxy.util.ErrorLogCollector;
2223
import com.netease.nim.camellia.redis.proxy.util.Utils;
2324
import io.netty.util.concurrent.DefaultThreadFactory;
25+
import org.slf4j.Logger;
26+
import org.slf4j.LoggerFactory;
2427

2528
import java.lang.management.*;
2629
import java.nio.charset.StandardCharsets;
@@ -36,8 +39,16 @@
3639
*/
3740
public class ProxyInfoUtils {
3841

39-
private static final ThreadPoolExecutor executor = new ThreadPoolExecutor(1, 1, 0, TimeUnit.SECONDS,
40-
new LinkedBlockingQueue<>(8), new DefaultThreadFactory("proxy-info"));
42+
private static final Logger logger = LoggerFactory.getLogger(ProxyInfoUtils.class);
43+
44+
private static final ThreadPoolExecutor executor;
45+
static {
46+
int poolSize = ProxyDynamicConf.getInt("info.command.executor.pool.size", 1);
47+
int queueSize = ProxyDynamicConf.getInt("info.command.executor.queue.size", 128);
48+
executor = new ThreadPoolExecutor(poolSize, poolSize, 0, TimeUnit.SECONDS,
49+
new LinkedBlockingQueue<>(queueSize), new DefaultThreadFactory("proxy-info"));
50+
logger.info("init info command executor, pool.size = {}, queue.size = {}", poolSize, queueSize);
51+
}
4152

4253
public static final String VERSION = CamelliaVersion.version;
4354
public static final String RedisVersion = "7.0.11";

0 commit comments

Comments
 (0)