■質問背景
自宅の1台のサーバ上で、Apacheにprefork設定を致しました。
MaxClientsを256設定にして、同一サーバ上から、ABベンチソフトにて(abコマンド)を実施したところ、挙動に疑問が出ましたので、質問させてください。
abコマンドで、100多重でかけると、prefork設定をしているので、Apacheのプロセス数が100まで上がるのかと思いましたが、上がりませんでした。
$ ab -n 500 -c 100 http://127.0.0.1/hogehoge.html
→確認は以下でしております。
$ while true; do ps -ef | grep httpd | wc -l; sleep 1;done
→プロセス数は20〜30を推移いたします。
■質問内容
以上をもとに、下記2つの質問をさせてください。
1.そもそもpreforkは、1クライアント→Apacheプロセス1が受け持つという認識が間違っているのでしょうか?
2.上記認識は正しいが、100多重といっても、リクエスト時間に微妙なばらつきがありるため、プロセス数が単純に100多重→100プロセスと同時に上がらないのでしょうか?
(2つめのリクエストが走るときには、すでに1つめのリクエストが終わってしまっている・・・)
■簡単に構成を記載いたします。
・実施環境
・サーバー1台(Apache環境、負荷をかける環境は同一サーバで実施しております。)
・OSバージョン:CentOS7
・Apacheバージョン:Apache 2.4
・Apache設定:prefork設定
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 20
MaxSpareServers 10
MaxClients 256
</IfModule>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/30 08:20
2020/08/30 08:40
2020/08/30 08:53