Heroku上的Python Redis达到了最大客户数量

时间:2018-07-25 12:50:08

标签: python heroku redis gunicorn

我正在编写一个由多个gunicorn工作者组成的服务器,并希望让他们所有人都可以访问特定变量。我正在使用Redis来做到这一点(它在RAM中,所以它很快,对吗?),但是每个GET或SET请求都会添加另一个客户端。我每秒可能执行约150个请求,因此它很快达到了Heroku的25个连接限制。要访问数据库,我先使用db = redis.from_url(os.environ.get("REDIS_URL")),然后使用db.set()db.get()有没有办法降低这个数字?例如,通过为每个工人一遍又一遍地使用相同的连接?但是我该怎么做呢?我所拥有的3名Gunicorn工人每秒执行大约50个查询。

如果使用redis是一个坏主意(可能是这样),那么如果您可以提出替代方案,那将是个好主意,但也请提供一种解决当前问题的方法,因为我的大部分代码都基于它,并且< strong>我还没有足够的时间重写整个内容。

注意:这三段代码是唯一调用redisdb的时间。我没有做任何配置或任何事情。也许这些信息会有所帮助。

1 个答案:

答案 0 :(得分:0)

您的脚本很可能为每个请求创建一个新连接。
但是每个工人都应该创建一次并永久使用。

您使用哪个框架?
它应该包含一些有关如何为Web应用程序配置Redis的文档。

P.S。 Redis是处理此问题的不错选择:)