apache keepAlive の設定方法と意味

apache の keepAlive の設定をしたのでメモ
即席でできる簡単設定と語句説明です。

/etc/httpd/conf.d/

に keepalive.conf を作成(ファイル名はなんでもOK)


Timeout 20
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers       4
MinSpareServers    5
MaxSpareServers   20
ServerLimit      512
MaxClients       512
MaxRequestsPerChild  2000
</IfModule>

<IfModule worker.c>
StartServers         4
MaxClients         100
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

【Timeout と KeepAliveTimeout の違い】
・Timeout
接続が無い場合に、切断するまでの時間。

・KeepAliveTimeout
クライアントからのリクエストがなくても keepAlive の接続を
維持する時間。

【prefork.c と worker.c】
特に何も記載が無く両方の設定を書いた場合、デフォルトだと
prefork.c が動作します。

prefork: 1リクエストに対してそれぞれ子プロセスを起動していく方式。
子プロセス毎に独立しているため、リクエストがフリーズしても他の子プロセスに影響がない。

worker: 1リクエストに対して子プロセスのスレッド(複数)を張って対応していく方式
独立性は担保できないが、メモリ消費は少なく済む。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です