我在apache、mod_wsgi和PostgreSQL上使用django (都在同一台主机上),我需要处理很多简单的动态页面请求(每秒数百个)。我面临的问题是,瓶颈是django没有持久的数据库连接,并且在每次请求时都会重新连接(这需要近5ms)。在做基准测试时,我得到的结果是,有了持久连接,我可以处理接近500 r/s的速度,而没有持久连接的情况下,我只能处理50 r/s。
有人有什么建议吗?如何修改Django以使用持久连接或加快从Python到DB的连接?
发布于 2011-07-16 03:26:17
我创建了一个小的Django patch,它通过sqlalchemy池实现MySQL和PostgreSQL的连接池。
这在很长一段时间内都能在http://grandcapital.net/的生产上完美地发挥作用。
这个补丁是在用谷歌搜索了一下这个主题之后写的。
发布于 2021-04-19 02:55:09
这是一个用于django连接池的包:django-db-connection-pool
pip install django-db-connection-pool
您可以提供其他选项以传递给SQLAlchemy的池创建,键的名称为POOL_OPTIONS:
DATABASES = {
'default': {
...
'POOL_OPTIONS' : {
'POOL_SIZE': 10,
'MAX_OVERFLOW': 10
}
...
}
}
https://stackoverflow.com/questions/1125504
复制相似问题