マジシャンのサイトがmpm_prefork:errorで接続不可 MaxRequestWorkersの値を変更

マジシャンのサイトがmpm_prefork:errorで接続不可 MaxRequestWorkersの値を変更

昨日このマジシャンのサイトに接続したところいつまで経っても接続ができません。
サーバーの管理画面からSSH接続を試みますがこれも接続できず。困りましたね。こうなるとなす術ないので管理画面からサーバーをリセットします。
そうすると接続できる様になりサイトは復活しました。
とりあえず解決しましたがこの様なことは今までなかったので原因を突き止めなければなりません。
そろそろ寝ようかと思ってたところですがいろいろ調べて対応したのでした。
因みにこちらの環境はGoogle Cloud Platform(GCP)、Debian9、apache2.4です。

マジシャン出張はこちら

アパッチのログを確認

サーバーにコンソールから接続してアパッチのログをみます。
すると以下の様なエラーがあります。

$ cd /var/log/apache2
$ tail -200 error.log
[Sat Jul 04 22:32:23.638136 2020] [mpm_prefork:error] [pid 763] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

サーバーはMaxRequestWorkersのセッティングに到着しました。MaxRequestWorkersのセッティングを上げることをお考えください。と言った感じでしょうか?

マジシャンのサイトがmpm_prefork:errorで接続不可 MaxRequestWorkersの値を変更

出張マジシャンはこちら

MaxRequestWorkersとは?

調べると以下の様にあります。
Maximum number of connections that will be processed simultaneously
最大同時リクエスト数

私は読んでもよくはわかりませんが最大同時リクエスト数までは捌けるってことなんですかね。

出張マジックはこちら

MaxRequestWorkersの現在の値

とりあえずこのサーバーの値がどおなっているのかを調べます。

$ cat /etc/apache2/mods-enabled/mpm_prefork.conf
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>

150になってますね。

マジックレッスンはこちら

MaxRequestWorkersを変更

上げろというので250ぐらいにしておきますか。

nanoコマンドで数字を書き換え

sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf

<IfModule mpm_prefork_module>
StartServers
5 MinSpareServers
5 MaxSpareServers
10 MaxRequestWorkers
250 MaxConnectionsPerChild 0
</IfModule>

sudo service apache2 restart

これで少し様子をみようと思います。

マジシャン派遣はこちら

適切な値と今後のマシンの切り替え

検索すると適切な値にチューニングすると出てきます。
よくわわかりませんが数字を上げすぎると今度はメモリーが足りないなんてことになるのかもしれません。

因みにサーバーのプランはケチって一番低スペックのにしてます。メモリーが0.6Gです。そして管理画面にはパフォーマンス向上、上のマシンタイプに切り替えろと警告が出ています。たいしてアクセスないんですけどね。でも今後様子見て変更も考えていかないといけないかもしれません。

参照

ApacheのMaxRequestWorkersエラーについて
DebianでApacheのprefork設定箇所はどこへ?
Resolve Server Reached MaxRequestWorkers Setting error now!
Apache MPM 共通ディレクティブ

出張マジックはこちら



投稿日

カテゴリー:

投稿者: