2026年9月23日
2026年9月23日
サーバーのhttpd設定でパフォーマンスを最大化する方法
はじめに
この記事では、Apache HTTPサーバー(httpd)の設定を最適化し、パフォーマンスを最大化する方法について解説します。正しく設定することで、ウェブサイトの応答速度が向上し、リソース効率も改善されます。
症状・背景
- 高負荷時の応答遅延やサービス停止
- サーバー資源の過度な消費
- ユーザーからの不満やアクセス数減少
手順・設定方法
ステップ1: 設定ファイルの読み取り
# httpd.conf ファイルを開く
sudo nano /etc/httpd/conf/httpd.conf
# 必要な設定を追加または変更
ステップ2: オプションとパラメータの最適化
# KeepAlive の有効化とタイムアウト設定
KeepAlive On
Timeout 10
# MaxKeepAliveRequests の設定
MaxKeepAliveRequests 50
# ログレベルを info に設定
LogLevel info
# ステータスコードの詳細なエラーメッセージを抑制
ServerSignature Off
ステップ3: シンクとストリーミングの最適化
# ストリーミングの有効化
EnableSendfile On
# ファイル転送用にsendfileを使用する
UseCanonicalName Off
# プロキシ設定の最適化
ProxyRequests off
ステップ4: 実践/トラブルシュート/監視
# セッションデータの保存先を外部ディレクトリへ変更
SessionCookiePath /
SessionCookieDomain .
SessionStoreFile /var/lib/httpd/sessions
# パフォーマンスモニタリング用にmod_status を有効化
LoadModule status_module modules/mod_status.so
<Location "/server-status">
SetHandler server-status
</Location>
注意事項
- 設定変更後は、テスト環境で動作確認を実施
- パフォーマンスモニタリング結果に基づき継続的な最適化を行う
- セキュリティ設定も併せて吟味する
- 重要データのバックアップを行いながら実行
まとめ
1. KeepAlive の有効化: リクエスト間でソケットを保持することでリソース使用量を減らす。
2. タイムアウトの最適化: 長い待機時間を設定すると、サーバーがレスポンシブになる。
3. ステータスコードの抑制: エラーメッセージを出さないことでログファイルサイズを削減する。
4. Sendfile の利用: ファイル転送効率を向上させる。
関連記事: