4
我們只是設置了New Relic進行監控,它表示90%的請求時間花在MySQLdb:connect
之間 - 每個請求在一到十秒之間!Django&MySQL - 根據請求連接到數據庫非常慢
Django似乎爲每個請求打開一個新的MySQL連接。我怎樣才能進一步診斷髮生了什麼?是否有任何Django或MySQL設置可以用來更快地連接到MySQL?
注意:由於前端使用數字IP連接到數據庫,因此我排除了DNS。
我們只是設置了New Relic進行監控,它表示90%的請求時間花在MySQLdb:connect
之間 - 每個請求在一到十秒之間!Django&MySQL - 根據請求連接到數據庫非常慢
Django似乎爲每個請求打開一個新的MySQL連接。我怎樣才能進一步診斷髮生了什麼?是否有任何Django或MySQL設置可以用來更快地連接到MySQL?
注意:由於前端使用數字IP連接到數據庫,因此我排除了DNS。
問題是,Django將關閉每個請求的連接並重新初始化它;作爲數據庫代碼偵聽信號:
signals.request_finished.connect(close_connection)
在django/db/__init__.py
的一個解決方案是實現connection pooling for MySQL using SQLAlchemy這是侵入性最小的和最友好的升級我都看到了。
我沒有試過這個,但你的解決方案似乎是唯一合理的。 –