Apacheで接続クライアント数を設定する

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「Apacheに同時アクセスが集中してサーバーが重くなる。クライアント数の上限設定はどこで変更するのか」
Apacheの同時接続クライアント数は MaxClients(Apache 2.4以降は MaxRequestWorkers)で制御します。

この記事では、Apacheの接続クライアント数の設定方法を解説します。使用しているMPM(Prefork/Worker)によって設定箇所が変わるため、確認方法も合わせて解説します。

【この記事でわかること】

・Apache 2.3以前は MaxClients、2.4以降は MaxRequestWorkers で設定する
mpm_prefork_modulempm_worker_module で設定箇所が異なる
・CentOS/RHEL環境ではデフォルトでPrefork MPMが使用される
・設定値が小さすぎると処理待ちが発生し、大きすぎるとメモリ不足になる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

MPMの確認方法

# 使用中のMPMを確認する # apachectl -V | grep MPM Server MPM: Prefork

Prefork MPMの設定(CentOS/RHELデフォルト)

1. httpd.confまたはhttpd-mpm.confを編集する

# vi /etc/httpd/conf/httpd.conf <IfModule mpm_prefork_module> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 # Apache 2.3以前 # MaxRequestWorkers 256 # Apache 2.4以降 MaxRequestsPerChild 4000 </IfModule>

Worker MPMの設定

# vi /etc/httpd/conf/httpd.conf <IfModule mpm_worker_module> StartServers 4 MaxClients 300 # Apache 2.3以前 # MaxRequestWorkers 300 # Apache 2.4以降 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>

主な設定項目の説明

MaxClients / MaxRequestWorkers:同時接続できるクライアント数の上限
StartServers:起動時に生成するサーバープロセス数
MinSpareServers:待機プロセスの最小数(Preforkのみ)
MaxSpareServers:待機プロセスの最大数(Preforkのみ)
ServerLimit:MaxClientsの上限値。MaxClientsより大きい値を設定する場合は変更が必要

設定変更後の反映

# Apacheを再起動して設定を反映 # systemctl restart httpd

本記事のまとめ

設定項目 説明
MaxClients(2.3以前) 同時接続クライアント数の上限
MaxRequestWorkers(2.4以降) 同時接続クライアント数の上限(2.4で名称変更)
ServerLimit MaxClientsの最大値(256以上にする場合に変更が必要)

Apacheのチューニング設定を体系的に学びたい方へ

同時接続数の適切な設定はApacheの安定稼働に不可欠です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。