考虑一个场景,我的应用程序仅需要100个jedisPool连接即可从Redis服务器获取数据。如果我将500配置为最大池大小会发生什么,请记住我的应用程序将来需要更多的连接。它会影响redis的性能吗?如果是,此问题的严重性是什么?
预先感谢
答案 0 :(得分:0)
据我了解,最大池大小仅是最大限制。 如果将其设置为500,而您的APP仅需要100,则该池实际上不会在其中创建500个连接。所以我想这不会影响您的情况下的性能问题。 还有其他参数可以管理连接: config.setMaxIdle(); config.setMaxTotal(); 您可以进行测试,并使用cmd“ info”查看连接。
答案 1 :(得分:0)
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%。