0

ある時点で、私のサイトでは、mod_wsgiを使用してApache2で実行すると、リクエストの処理が停止します。サーバーへの接続は維持され、クライアントは応答を待ちますが、apacheによって返されることはありません。この時点でサーバーは0%CPUであり、何も処理されていません。私は、apacheがキューにリクエストを送信するだけで、キューからそれらを取得することはないと思います。実行apache2ctl gracefulしても問題は解決しません。後のみapache2ctl restart

私のサイトは、Pyramidの4インスタンスwsgiアプリケーションとZope 3の2インスタンスです。これは正常に実行されており、速度の問題はありません。

バージョン:Ubuntu 10.04 apache2 2.2.14-5ubuntu8.9 libapache2-mod-wsgi 2.8-2ubuntu1

4

1 に答える 1

0

組み込みモードを使用して複数のアプリケーションを実行しているように聞こえますが、サブインタープリターに問題があるサードパーティの C 拡張機能を使用しているため、デッドロックが発生する可能性があります。そうしないと、コードが外部サービスで内部的にデッドロックまたはブロックされ、決して返されないため、使用可能なプロセス/スレッドが枯渇します。

まず、デーモン モードの使用を検討し、各 Web アプリケーションを個別のデーモン プロセス グループに委譲してから、それぞれをメイン インタープリターで強制的に実行する必要があります。

見る:

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API

それ以外の場合は、以下で説明されているデバッグのヒントを使用してください。

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques

アプリケーションが何をしているかについてのスタック トレースを取得するため。

于 2012-06-10T12:00:21.167 に答える