我有一个使用Andy McCurdy的python库的python加载器,它打开多个Redis数据库连接,并设置数百万个循环遍历行文件的键,每个行包含一个整数,即该记录的redis-db编号。总而言之,目前只开放了20个数据库,但最终可能有多达100个或更多。
我注意到redis日志(设置为verbose)总是告诉我有#34; 4个客户端连接(0个从属),...虽然我知道我的20个已打开并正在使用。
所以我猜这是关于python库中内置的连接池支持。我猜错了吗?如果是这样,真正的问题是有没有办法增加池大小 - 我有足够的机器资源,很多专用于Redis?随着我所建立的虚拟连接数量的增加,增加池大小会有助于提高性能吗?
此时,我实际上每次只打一个连接,虽然我有很多打开,因为我在其中随机输入记录。但最终会有很多脚本(2打?)并行击中Redis,主要是阅读,我想知道增加池大小会产生什么影响。
由于 马修
答案 0 :(得分:1)
所以我猜这是关于python库内置的连接池支持。我猜错了吗?
是
如果是这样,真正的问题是有办法增加池大小
不需要,它会增加连接,默认值为2 ** 31(andys lib)。所以你的联系无论如何都是空闲的。
如果要提高性能,则需要使用redis更改应用程序。
我想知道增加池大小会产生什么影响。
没有,至少在这种情况下不是。
如果redis在某些时候成为瓶颈,那么你就拥有了一个多核服务器。您必须运行多个redis实例以提高性能,因为它只在单个核心上运行。当您运行多个实例并且主要执行读操作时,从属功能可以提高性能,因为从属设备可用于所有读取。