FCGIサーバーとしてWindowsServer2008、Apache 2.2 Python 2.7、Djangoを使用しています
FCGIサーバーは、SrvAnyを使用してサービスとして開始されます。
python c:\amebas_site\amoeba\manage.py runfcgi host=127.0.0.1 port=8881 daemonize=True method=threaded outlog=c:\amebas_site\logs\access.log errlog=c:\amebas_site\logs\error.log maxchildren=100 maxspare=90 minspare=50 maxrequests=10 debug=True
さまざまなmaxspare、minspare、maxrequests、maxchildrenの値を試しましたが、何も役に立ちませんでした。高負荷で常に「500サーバーエラー」が発生します。
Apache構成:
FastCGIExternalServer c:\amebas_site\fcgi.hook -host 127.0.0.1:8881
RewriteEngine On
...
RewriteCond ${REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ /fcgi.hook/$1 [QSA,L]
私のdjangoWebサイトは、オンラインに5〜6人のユーザーがいる場合にうまく機能し、エラーはありません。しかし、ストレステスト(loadimpact.com経由で50人の仮想ユーザー)を実行すると、サイトに「500内部サーバーエラー」ページが表示され、Apacheログにエラーメッセージが表示されます。
[Thu Dec 06 16:29:48 2012] [error] [client 54.246.71.7] (OS 10054)An existing connection was forcibly closed by the remote host. : FastCGI: comm with server "C:/amebas_site/fcgi.hook" aborted: read failed
[Thu Dec 06 16:29:48 2012] [error] [client 54.246.71.7] FastCGI: incomplete headers (0 bytes) received from server "C:/amebas_site/fcgi.hook"
しかし、Djangoのログには注目があります。この問題をデバッグして取り除くにはどうすればよいですか?