2

いくつかのデータをロードし、アプリケーション スコープのようにメモリに保持したいと考えていました。これと、stackoverflow の他の投稿に基づいて、必要なコード スニペットを, settings.py,urls.pyに入れましたmodels.py。また、いつ実行されるかを確認するための print ステートメントも配置しました。リクエストごとにサーバーログにすべての印刷ステートメントが表示されます。

バージョンの詳細は次のとおりです。

  1. Linux 2.6.32-358.el6.x86_64
  2. Apache/2.2.15 (Unix)
  3. Django 1.4
  4. Python 2.7.4

リクエストごとにdjangoが再ロードされているようです。私もこれを調べて 1ではない管理者に確認しましたMaxRequestsPerChild.

4

1 に答える 1

2

mod_wsgi 組み込みモードで実行している場合、マルチプロセス構成になるため、コードですべてのプロセスをウォームアップするのに時間がかかる場合があります。また、Apache はアイドル プロセスを強制終了するため、プロセス チャーンが発生します。したがって、あなたが見ているのはその結果です。

これを確認するために、デバッグ コードにプロセス ID の出力を追加します。

最も簡単な方法は、mod_wsgi デーモン モードを使用して、一定数の永続プロセスに制限することです。

また、私の PyCon がこの種のことについて話しているのを見てください:

于 2013-08-05T12:12:58.887 に答える