2026年5月17日

2026年5月17日

Apacheで接続数の上限を設定する方法

はじめに

Apacheは広く使用されているオープンソースのWebサーバーソフトウェアで、接続数を適切に制限することで、サーバーのパフォーマンスと安定性を向上させることが可能です。本記事では、 Apache 2.4.x や更高版本中如何设置连接上限的方法进行详细说明。

症状・背景

  • サーバー負荷が高まり、ウェブサイトにアクセスできない状況
  • 大量の同時接続でサーバーがダウンする場合
  • 高頻度のリクエストにより、一部のユーザーが待たされる状況

手順・設定方法

ステップ1: httpd.conf ファイルを開く

# Apacheの配置ファイルを開き、必要に忾して設定を行う
sudo nano /etc/httpd/conf/httpd.conf

ステップ2: MaxConnectionsPerChild オプションを設定

# 子プロセスが有効な期間内の最大接続数を制限します
MaxRequestsPerChild 500

ステップ3: ListenBacklog の設定

# プロキシまたはリバースプロキシの場合は必要です。MaxConnectionsPerChild オプションと組み合わせて利用します。
ListenBackLog 2048

ステップ4: 追加で接続制限を設定

# PHP-FPMとの整合性を保つための追加設定も考慮します。PHP-FPMはApacheの外部プロセッサとして使用されることが多いです。
<IfModule mod_php7.c>
    php_value max_children 50
</IfModule>

# Apacheの最大同時接続数を制限するための設定
Listen 80

ステップ5: 設定の保存とApacheの再起動

# 設定が完了したら、Apacheサーバーを再起動して変更を適用します
sudo systemctl restart httpd

注意事項

  • MaxConnectionsPerChild は子プロセスごとの最大接続数を制限します。増やすことで、サーバー負荷を分散させることができます。
  • ListenBackLog の値を適切に設定することで、大量の同時接続による影響を軽減できます。
  • PHP-FPMとの整合性を保つためにも、PHPの最大子プロセス数を指定することが重要です。

まとめ

1. MaxConnectionsPerChild: 子プロセスごとの最大接続数を制限します。

2. ListenBackLog: 同時接続を管理するために必要です。値はサーバーの負荷に応じて調整します。

3. PHP-FPM の設定: サーバー全体のパフォーマンスを考慮に入れるために、外部プロセッサとの整合性も重要です。

4. Apache の再起動: 設定変更後は Apache を再起動して適用します。

5. 監視と調整: 定期的に接続数の状況を確認し、必要に忾して設定を調整することが推奨されます。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ