2013-12-13 16 views
12

無料のEC2 Microインスタンスを使用して、Linux上で動作するApacheを備えた小規模なテスト用Webサイトをホストしています。私は「トップ」でバックグラウンド・プロセスを見しようとするとなぜ非常に多くのApacheプロセスが実行されていますか?

、私はこれが正常であることを確認していない(30+)「アパッチ」ユーザー

PID user  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 

12104 apache 20 0 429m 9024 2420 S 1.0 0.2 0:02.91 httpd    
12273 apache 20 0 429m 9108 2504 S 1.0 0.2 0:01.20 httpd    
... 

をたくさん見ました。これは、私が誰か/ウイルスによって結ばれている可能性がありますか?

P.S. 私は、2〜3人のテストユーザーがこの時点でそれをまったく使用することを期待しています。これはPHP + Apache + MySQLの建築家です。

ありがとうございました。

+1

いくつかのことを明確にすることはできますか?何十人ものユーザーがサイトにいると思いますか?たくさんありますか? 100秒のApacheプロセスまたは12個のプロセス? – dan08

+0

また、どの言語とApacheバインディングを使用していますか? –

+0

私は、2〜3人のテストユーザーがこの時点でそれをまったく使用することを期待しています。これはPHP + Apache + MySQLの建築家です。 – user2210021

答えて

14

Apacheはワーカープロセスを事前に作成します。したがって、負荷スパイクが発生した場合、プロセスはマスターがそれらを十分に生成するのを待つのではなく、要求をすぐに受け取ることができます。 httpd.confでMinSpareServers、MaxSpareServers、ServerLimitを確認してください。

+0

これは意味があります。しかし、私はMaxSpareSeversを12に変更し(ServerLimitとMaxClientを128に保ちます)、Apacheを再起動しますが、まだ30以上のApacheプロセスを見ています。何かご意見は?ありがとう! – user2210021

+1

httpd設定ファイルで "server-status"という文字列を探します。デフォルトの設定ファイルには、http://your.server/server-statusという特別なURLが、サーバとプロセスが何をしているのかに関するあらゆる種類の情報を与えることができるという、コメントアウトされた例があります。コメントを削除し、クライアントからのアクセスを許可するように「受け入れる」部分を変更し(デフォルトではどこにでも拒否します)、サーバーを再起動して、特別なURLを確認します。同様のことがserver-infoにも存在しますが、server-statusにはより多くの情報があります。 –

関連する問題