web-dev-qa-db-ja.com

Apache接続ごとにどのくらいのメモリがありますか?

私たちのクライアントはRuby on Railsアプリで、ほとんどがクライアントベース(つまり、コントローラーとビューでの処理がほとんどない)で、ApacheとPassengerがサーバースタック。

各接続には、ユーザー接続ごとに約2MBかかることがわかります。これは合理的ですか、それとも構成に何か問題がありましたか?

各サーバーがサポートできるユーザー数を見積もろうとしています。

ありがとう!

2
Crashalot

Phusionの乗客のメモリフットプリントは、passenger-memory-statsを使用して決定する必要があります。 http://www.modrails.com/documentation/Users%20guide%20Apache.html#_inspecting_memory_usage を参照してください。

RSSフィールドに関する次のコメントに注意してください。

プライベートまたはプライベートダーティRSSフィールドは、プロセスの実際のメモリ使用量を示します。ここでは、すべてのApacheワーカープロセスがそれぞれ1MB未満のメモリしか使用しないことがわかります。これは、VMSize列に示されている50 MB程度のメモリ使用量よりもはるかに少ないです(これは多くの人が実際のメモリ使用量であると考えていますが、実際にはそうではありません)。

彼らはメモリ出力の良い例を提供しました:

[bash@localhost root]# passenger-memory-stats
------------- Apache processes --------------.
PID    PPID  Threads  VMSize   Private  Name
---------------------------------------------.
5947   1     9        90.6 MB  0.5 MB   /usr/sbin/Apache2 -k start
5948   5947  1        18.9 MB  0.7 MB   /usr/sbin/fcgi-pm -k start
6029   5947  1        42.7 MB  0.5 MB   /usr/sbin/Apache2 -k start
6030   5947  1        42.7 MB  0.5 MB   /usr/sbin/Apache2 -k start
6031   5947  1        42.5 MB  0.3 MB   /usr/sbin/Apache2 -k start
6033   5947  1        42.5 MB  0.4 MB   /usr/sbin/Apache2 -k start
6034   5947  1        50.5 MB  0.4 MB   /usr/sbin/Apache2 -k start
23482  5947  1        82.6 MB  0.4 MB   /usr/sbin/Apache2 -k start
### Processes: 8
### Total private dirty RSS: 3.50 MB

--------- Passenger processes ---------.
PID    Threads  VMSize   Private  Name
---------------------------------------.
6026   1        10.9 MB  4.7 MB   Passenger spawn server
23481  1        26.7 MB  3.0 MB   Passenger FrameworkSpawner: 2.0.2
23791  1        26.8 MB  2.9 MB   Passenger ApplicationSpawner: /var/www/projects/app1-foobar
23793  1        26.9 MB  17.1 MB  Rails: /var/www/projects/app1-foobar
### Processes: 4
### Total private dirty RSS: 27.76 M
2
Nan Liu

使用しているモジュールによっては、Apacheには2MBが妥当です。メモリ効率の最大化を調べるには、Apacheのmpm_workerモジュールを調べることをお勧めします。

0
thinice

答えを待っている同様の質問があります。次のコマンドを使用しました。

ps aux | grep "Apache"
Apache   10120  0.1  5.2 287908 31964 ?        S    10:41   0:26 /usr/sbin/httpd

総メモリの5.2%(600MB)なので、プロセスあたり約3MB(phpを使用)。これが正しいかどうかわからない。

私の質問はここにあります、 ec2メモリ使用量

0
Adam C.