我在Apache、mod_wsgi和postgreSQL上使用Django(都在同一主机上),我需要处理很多简单的动态页面请求(每秒数百个).我面临的问题是,瓶颈是Django没有持久的数据库连接,并且每个请求都要重新连接(这需要将近5ms). 在做基准测试时,我得到的结果是,有了持久连接,我可以处理接近500r/s的速度,而没有持久连接的情况下,我只能处理50r/s.

有人有什么建议吗?如何修改Django以使用持久连接或加快从Python到DB的连接?

推荐答案

Django 1.6增加了persistent connections support (link to doc for latest stable Django ):

持久连接可避免重新建立 在每个请求中连接到数据库.它们是由 CONN_MAX_AGE参数,该参数定义 连接.它可以 for each 数据库单独设置.

Database相关问答推荐

找不到复制副本集

如何从大型Oracle数据库中删除列?

TYPO3 OOPS,出现错误!编码:202402180809040864ba5c

Postgres和Oracle之间 Select 查询的结果差异

即使将enable_seqscan设置为关闭,也未使用数组列上的 GIN 索引?

即使使用列入白名单的 IP,也无法连接到 Azure SQL 数据库

在 Oracle 中查找数据库的大小

带有字符串列的 SQL 之间的子句

MongoDB:查询具有两个相等字段 $match 和 $eq 的文档

如何关闭 Rails 中的updated_at列?

如何处理 SQL Server 中列名中的空格?

如何在 liquibase 中标记变更集以进行回滚

省略日期中的毫秒数

在数据库中存储年份

如何一次插入1000行

处理多个表的最佳实践

在数据库中存储业务逻辑

用 SQL 进行条件插入?

单元测试数据库

与 IntelliJ IDEA 相比,DataGrip 附加值