LinuxでApache接続最大数を設定する

1.ApacheのMPMについて
Apacheは起動時にMPM(Multi-Processing Modules)という基本モジュールが選択できるように設計されています。
Apache2.0にMPMを3つ分ける(perfork、worker、event):
perfork:プロセス形式を使用して、より信頼性の高いパフォーマンスと互換性を提供する
worker:スレッド制御方法を使用している
event:タスクごとに異なるプロセスのプールを割り当てる

[root@ip-172-31-5-227 ~]# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

2.preforkパラメータを設定

2.1デフォルトのパラメータは次の通りです
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>

2.2 パラメータの説明:
アイドル状態のプロセス数:MinSpareServers~MaxSpareServers
プロセスの最大数:maxClients
MaxClients ≤ ServerLimit ≤ 20000
MaxRequestsPerChild:プロセスリクエストを処理した後に自動的に破壊。デフォルト0を設定

2.3 設定参考内容:
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 4000
MaxClients 2056
MaxRequestsPerChild 10000
</IfModule>

2.4 apacheが再起動

3.apacheの最大接続数を設定
現在の接続数を確認
ps aux | grep httpd | wc -l またはpgrep httpd|wc -l

httpd平均稼動メモリを計算
ps aux|grep -v grep|awk ‘/httpd/{sum+=$6;n++};END{print sum/n}’

Linux

Posted by arkgame