Django(postgresql-psycopg2)连接池:简单vs线程与持久ConnectionPool

时间:2013-11-08 14:48:56

标签: python django connection-pooling psycopg2 django-postgresql

我正在查看使用postgresql db后端在我的Django应用程序中使用的数据库连接池实现,并且遇到了为psycopg2实现的最新包装程序包 -

https://pypi.python.org/pypi/django-db-pool

psycopg2本身提供不同类型的池,即Simple(在单个线程中共享),Threaded(在线程间共享)和Persistent(每个线程严格一个持久连接),根据这里的文档 - http://initd.org/psycopg/docs/pool.html。< / p>

djang-db-pool似乎正在使用ThreadedConnectionPool实现,如源代码所示。

目前,在我的Django app实现中,每个请求都可以产生多个线程,这意味着要处理多个并发的Django请求,ThreadedConnectionPool是正确的方法吗?

是否有其他人有使用此软件包(django-db-pool)或psycopg2与Django连接池的经验,可以对此有所了解?

1 个答案:

答案 0 :(得分:1)

作为您链接到note的文档,ThreadedConnectionPool是您想要用于多线程应用程序的文档,Django是(或者无论如何,取决于您如何配置Web服务器/ WSGI我写了django-db-pool所以我不是一个公正的来源,但也许你可以解释一下你的请求流程,以便我可以提供一些额外的建议?