增加 JEDIS 中的池大小会影响 redis 性能吗?

Increasing Pool size in JEDIS will affect redis performance?

考虑一个场景,我的应用程序只需要 100 个 jedisPool 连接来从 redis 服务器获取数据。如果我将 500 配置为最大池大小会发生什么情况,请记住我的应用程序将来需要更多连接。会不会影响redis的性能。如果是,这个问题的严重程度如何?

提前致谢

据我了解,最大池大小只是一个最大限制。 如果你把它设置为 500,而你的 APP 只需要 100,池实际上不会创建 500 个连接。所以我想这不会影响您的案例的性能问题。 还有其他参数来管理连接: config.setMaxIdle(); config.setMaxTotal(); 你可以做一个测试,并使用cmd "info" 来查看连接。

Redis 的默认最大客户端数为 10000,您可以使用 CONFIG GET maxclients 进行查看。所以如果你达到 500 个连接是很容易管理的。如果您将有多个 Jedis 客户端,请考虑乘积节点*maxTotal。参见 https://redis.io/topics/clients

随着客户端数量的增加,性能可能会有所下降。你可能想要 运行 一些 benchmarks.

我试过 redis-benchmark -t set -r 100000 -n 1000000 -c 500,其中 -c 500 是客户端数。从 50 到 500 个客户端,我的每秒请求数减少了 12%。

查看 JedisPool optimization