2011-12-06 10 views
4

私たちは監視のためにNew Relicを設定しており、リクエスト時間の90%がMySQLdb:connectで費やされています - 要求ごとに1〜10秒です!Django&MySQL - リクエストごとのデータベースへの接続は非常に遅いです

Djangoはすべてのリクエストに対して新しいMySQL接続を開くようです。何が起こっているのかさらに診断するにはどうすればいいですか? DjangoやMySQLの設定を使用して、MySQLへの接続を高速化できますか?

注:フロントエンドが数値IPを使用してDBに接続しているので、私はDNSを除外しました。

答えて

3

問題は、djangoが各リクエストで接続を閉じて、再度それを再初期化することです。デシベルコードが信号でリッスンとして:

signals.request_finished.connect(close_connection)ソリューション

一つdjango/db/__init__.pyで少なくとも侵入であると私は見てきた友好アップグレードほとんどがconnection pooling for MySQL using SQLAlchemyを実装することです。

+0

私はこれを試していませんが、あなたの解決策は唯一合理的な解決策です。 –

関連する問題