httpd
(Apache/2.2.29
)メモリ使用量にはいくつかの問題があります。
時間の経過とともに、プロセスのメモリ使用量はhttpd
最終的に100%に達するまで徐々に増加します。
最後の再起動はhttpd
約24時間前でした。出力はfree -m
次のとおりです
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 1415 239 0 202 424
-/+ buffers/cache: 788 866
Swap: 1023 4 1019
確かに証明するために再起動して再httpd
実行httpd
しました。free -m
[ec2-user@www ~]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 760 894 0 202 360
-/+ buffers/cache: 197 1457
Swap: 1023 4 1019
したがって、Apacheを再起動すると、使用可能なメモリが239 Mbから894 Mbに減少します。これは次のとおりです。大きい走る。
私は現在アクティブなApacheモジュール(多く)と無効化/削除されたモジュールmod_wsgi
(mod_perl
PHPベースのWebアプリケーション、特にMagentoを実行しているこのサーバーには必要ありません)のリストを見ました。
に基づいてhttps://servercheck.in/blog/3-small-tweaks-make-apache-fly、実行し、ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
次の出力を取得します。
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
15.1328 MB
118.09 MB
127.449 MB
129.059 MB
117.734 MB
113.824 MB
125.062 MB
123.922 MB
119.855 MB
108.066 MB
136.23 MB
114.031 MB
113.27 MB
110.695 MB
102.113 MB
113.234 MB
186.816 MB
118.602 MB
0.835938 MB
他の提案された診断ツールを実行すると、次の結果が返されMaxClients
ます。ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
110.212 MB
サーバー(Amazon AWSm1.small
インスタンス)には1.7 Gb
RAMがあります。したがって:
設定を調整するための最良の方法httpd
、またはこの問題の原因を正確に診断する方法に関する追加のガイドライン/アドバイスはありますか?
ベストアンサー1
この問題を「解決」するために私がしたことは次のとおりです。
- 設定
MaxClients 7
(基準(1740.8Mb Memory on server - 900Mb for MySQL + other stuff) / 111Mb average usage per httpd process = 7.5747747747747747747747747747748
)
だから:
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 7
MaxRequestsPerChild 4000
</IfModule>
、、、、、、、、、、を除くすべてのApacheモジュールを無効にします
authz_host_module
。log_config_module
expires_module
deflate_module
setenvif_module
mime_module
autoindex_module
negotiation_module
dir_module
alias_module
rewrite_module
php5_module
mod_ssl
クライアントは何も使用しないので、このパッケージを削除してくださいhttps://
。
この新しい設定がしばらく実行されたら、もう一度報告して問題が解決するかどうかを確認します。
以下はいくつかのインスピレーションを得たものです。http://www.activoinc.com/blog/2009/08/31/performance-optimized-httpd-conf-for-magento-ecommerce/そしてhttp://www.activoinc.com/downloads/httpd.conf-magento