2026年9月29日
2026年9月29日
WordPressのKeepAliveを有効にする方法
はじめに
この記事では、Webサイトのパフォーマンスを向上させるためにApacheやNginxでKeepAlive機能を有効にする方法について解説します。KeepAliveは同一のクライアントが何度もリソースを要求する場合に、サーバーとブラウザ間のTCP接続を維持することで、通信の遅延時間を減らし、レスポンス速度を向上させる機能です。
症状・背景
このテーマが必要になる主な場面:
- サイトの読み込みが遅い
- 静的コンテンツが多いサイトでパフォーマンスを改善したい
- ユーザーからのフィードバックでページロード時間が長いと報告された場合
- 画像やCSS、JavaScriptなどのリソースファイルが多くある場合
手順・設定方法
ステップ1: Apacheでの基本操作
# KeepAlive機能を有効にします
sudo nano /etc/apache2/sites-available/000-default.conf
# 以下を追加または修正します
<IfModule mod_proxy.c>
ProxyPreserveHost On
</IfModule>
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
ステップ2: Nginxでの主要オプション/設定
# Nginxの設定ファイルを開きます
sudo nano /etc/nginx/sites-available/default
# 下記を追加または修正します
http {
# KeepAliveのパラメータを設定
keepalive_timeout 5;
}
ステップ3: Apacheでの応用/組み合わせ
# Apacheのメイン設定ファイルを開きます
sudo nano /etc/apache2/apache2.conf
# 下記を追加または修正します
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 300
MaxClients 300
MaxRequestsPerChild 4000
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25%
MaxSpareThreads 75%
ThreadLimit 64
ThreadsPerChild 16
MaxClients 300
MaxRequestsPerChild 0
</IfModule>
ステップ4: Apacheの実践/トラブルシュート
# Apacheを再起動して設定を適用します
sudo systemctl restart apache2
注意事項
- KeepAliveTimeoutを適切な値に調整することが重要です。過度に長くすると、サーバー資源が占有されやすくなります。
- MaxKeepAliveRequestsは、接続の維持中にサーバーから送信される最大リクエスト数を定義します。
- NginxとApacheの設定ファイルは通常異なる場所にあるため、適切なファイルを開くことを確認してください。
まとめ
1. KeepAliveTimeout: デフォルト値は5秒ですが、サイトの特性に応じて調整が必要です。
2. MaxKeepAliveRequests: 接続中に送信される最大リクエスト数を定義します。通常は400〜800が適切です。
3. Apache設定ファイル: /etc/apache2/apache2.confかサイトの個別の設定ファイルで調整を行います。
4. Nginx設定ファイル: /etc/nginx/sites-available/defaultまたは/etc/nginx/nginx.confで変更を加えます。
5. 再起動: ApacheやNginxを再起動して変更を適用します。
関連記事: