增加 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%。
考虑一个场景,我的应用程序只需要 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%。