考虑一种情况,我的应用程序仅需要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%。