1

かなり大きな Django サイトがあり、実行速度が非常に遅い (ページ読み込みあたり >3000 ミリ秒)。

何かがパフォーマンスを窒息させていますが、何が原因かわかりません。

MySQL から 8 ミリ秒で実行されるクエリは 10 個だけです。css+javascript をすべて無効にしても、読み込みに 3000 ミリ秒以上かかります。

django-debug-toolbar:
User CPU time   264.384 msec
System CPU time 104.791 msec
Total CPU time  369.175 msec
Elapsed time    2621.822 msec

runprofileserverから試してdjango-extensions、いくつかのプロファイルデータを取得しました。

https://portal.bitcasa.com/send/f19b6dd7bd2bd724737ce42a6e4c342b10349a73214877227628939a5f5331ea/37359a48a7f5e342278be654e9dd74896b1d6c25b249b327e2196d327e2195d327e2195 を参照してください。

プロファイリング データを解読しようとすると、レンダリング (テンプレート レンダリング?) を介した render_content が遅い理由であるという結論に達します。

誰か助けてくれませんか?

ありがとう。

4

1 に答える 1

1

Tracelytics や New Relic などのプロファイリング ツールを使用することをお勧めします。

見分けるのは難しいですが、いくつかの一般的な原因が考えられます。

  • キャッシング層との誤解

  • クエリの誤用 (大規模なクエリ、インデックスの追加、select_relatedおよびの使用prefetch_related)

  • django-debug-toolbar 自体を使用すると、処理が大幅に遅くなります。DEBUG=False であることを確認してください

于 2013-01-16T09:00:31.400 に答える