KeepAliveは、クライアントとのTCP接続を維持して複数のHTTPリクエストを1つのコネクションで処理する機能です。
この記事では、ApacheのKeepAlive設定(有効化・タイムアウト・最大リクエスト数)の方法を解説します。
【この記事でわかること】
・KeepAliveは httpd.conf または httpd-default.conf で設定する
・KeepAlive On で有効化、Off で無効化する
・MaxKeepAliveRequests でコネクションあたりの最大リクエスト数を設定する
・KeepAliveTimeout の値は短すぎても長すぎてもパフォーマンスに悪影響がある
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
KeepAliveの設定ファイル
KeepAlive設定は、Apacheのバージョンによって設定ファイルの場所が異なります。・Apache 2.2:
/usr/local/apache2/conf/extra/httpd-default.conf・RHEL/CentOS系:
/etc/httpd/conf/httpd.confKeepAliveの設定方法
1. KeepAliveを有効化する
# httpd-default.conf または httpd.conf を編集 # vi /etc/httpd/conf/httpd.conf # KeepAliveを有効化する(On: 有効 / Off: 無効) KeepAlive On
2. 最大リクエスト数を設定する(MaxKeepAliveRequests)
# コネクションあたりの最大リクエスト数(0は無制限) MaxKeepAliveRequests 100
0 を設定すると無制限になりますが、リソースを圧迫するリスクがあるため、高トラフィックサイトでは
100 ~ 500 程度に設定するのが一般的です。3. コネクション保持時間を設定する(KeepAliveTimeout)
# 次のリクエストまでのコネクション保持時間(秒) KeepAliveTimeout 5
KeepAliveTimeout は短すぎると接続が頻繁に切れ、長すぎると不要なコネクションが溜まりサーバーリソースを浪費します。一般的には
5 ~ 15 秒が推奨されます。設定変更後の反映
# 設定の構文チェック # apachectl configtest # Apacheを再起動して設定を反映 # systemctl restart httpd または # apachectl restart
本記事のまとめ
| 設定項目 | 設定例 | 説明 |
|---|---|---|
| KeepAlive有効化 | KeepAlive On |
KeepAliveを有効化する |
| 最大リクエスト数 | MaxKeepAliveRequests 100 |
コネクションあたりの最大リクエスト数 |
| タイムアウト | KeepAliveTimeout 5 |
次のリクエストまでの待機時間(秒) |
Apacheのパフォーマンスチューニングをしっかりマスターしたい方へ
KeepAlive設定の最適化はApacheの応答速度向上に直結します。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Apacheのポート番号を変更する
- 前のページへ:接続中のプロセスが終了するのを待ってApacheを停止する
- この記事の属するカテゴリ:Apache・Linuxtips・Webサーバー管理・サーバー管理へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます