OSQA Apacheメモリフットプリント
-
27-09-2019 - |
質問
8つの異なるサイトを提供するOSQA(Python / Django Q&Aアプリケーション)インストールがあります。サイトはすべて開発中で、トラフィックが最小限に抑えられています。サーバーは、512 MBのRAMを備えた仮想プライベートサーバーです。
Apacheは、Nginxの背後にMOD_WSGIを備えた動的ページのみを提供しています。サーバーが窒息するまで、各リクエストでますます多くのメモリを消費するのを止めることはできません。
メモリフットプリントを最小限に抑えるために、あまり運なしで構成パラメーターを実験しました。 APACHE2.CONFの次のMPM_PREFORKパラメーターを使用してください。
StartServers 2
MinSpareServers 1
MaxSpareServers 4
MaxClients 4
MaxRequestsPerChild 100
2 Apacheプロセスは4 MBの使用を開始し、最初のリクエストの後、それぞれ50 MB近くの4つのプロセスがあり、新しいリクエストごとにこれらの4つのプロセスはそれぞれ最大200 MB近くまで上昇します。
何か間違ったことが起こっているように感じます。どんな提案でも大歓迎です。
解決
KeepAlive Off
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 3
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 2
WSGIDaemonProcess osqaWSGI processes=2 python-path=/web/osqa_server:/web/osqa_server/lib/python2.6 threads=1 maximum-requests=550
WSGIProcessGroup osqaWSGI
10,000の同時ヒットでこれに対してHTTPERFを実行しましたが、まだ立っていました。
所属していません StackOverflow