Django& MySQL - 按请求连接到数据库非常慢

时间:2011-12-06 02:34:06

标签: mysql django performance

我们只是设置了New Relic进行监控,它说我们90%的请求时间花费在MySQLdb:connect - 每个请求一到十秒!

Django似乎为每个请求打开一个新的MySQL连接。我怎样才能进一步诊断出现了什么?是否可以使用任何Django或MySQL设置来更快地连接到MySQL?

注意:由于前端使用数字IP连接到数据库,因此我排除了DNS。

1 个答案:

答案 0 :(得分:3)

问题是django会在每个请求时关闭连接并重新初始化它;因为db代码侦听信号:

signals.request_finished.connect(close_connection)

中的

django/db/__init__.py

一个解决方案是实施connection pooling for MySQL using SQLAlchemy,这是我见过的最不具侵扰性和最升级的升级。