回答編集履歴
3
Add result of investigation
answer
CHANGED
@@ -19,8 +19,40 @@
|
|
19
19
|
|
20
20
|
参考: [mods-enabled directory | Apache](https://geek-university.com/apache/mods-enabled-directory/)
|
21
21
|
|
22
|
+
(ただし、`mpm_prefork` を有効化しなくても、`mpm_event` が最初から有効化されているため、やはり `mpm_event.conf` の初期値 150 が適用されます)
|
23
|
+
|
22
24
|
`mpm_prefork` モジュールが、なぜ `MaxRequestWorkers` を 150 としているのかの根拠は
|
23
25
|
軽く調べただけではわかりませんでした
|
24
26
|
|
25
27
|
Apache のコードの変更履歴を追っていけばわかるかもしれません (わからないかもしれません):
|
26
|
-
[apache/httpd: Mirror of Apache HTTP Server. Issues: http://issues.apache.org](https://github.com/apache/httpd)
|
28
|
+
[apache/httpd: Mirror of Apache HTTP Server. Issues: http://issues.apache.org](https://github.com/apache/httpd)
|
29
|
+
|
30
|
+
## MaxRequestWorkers が MPM 設定ファイルで 150 に設定されている経緯
|
31
|
+
|
32
|
+
`MaxRequestWorkers` の旧名である `MaxClient` は最初 (1999 年)から 150 として指定されていたようです:
|
33
|
+
[Apache 1.3.9 baseline for the Apache 2.0 repository. · apache/httpd@77c2776](https://github.com/apache/httpd/commit/77c277683225999b00853b02ebde3bc9cf7f7f6f)
|
34
|
+
|
35
|
+
その後、`MaxClient` の設定は MPM の設定ごとに分割され、値は 150 が引き継がれました:
|
36
|
+
[Merged the simple-conf branch changes r159781:160695 into the trunk. · apache/httpd@fa4e866](https://github.com/apache/httpd/commit/fa4e8666003806970b6ef033d8d867f7a1ec0d89)
|
37
|
+
|
38
|
+
更に、次のタイミングで `MaxClients` が `MaxRequestWorkers` に更新されます:
|
39
|
+
[Rename MaxClients to MaxRequestWorkers which describes more accuratel… · apache/httpd@6d8de2f](https://github.com/apache/httpd/commit/6d8de2ff429c61103aeae1e7c486380627969f9d)
|
40
|
+
|
41
|
+
ちなみに、最新の Apache では「ドキュメントの初期値に合わせる」(?) ということで 250 に更新されているようです:
|
42
|
+
[Updated event mpm configuration to match the defaults in documentatio… · apache/httpd@28a9c0d](https://github.com/apache/httpd/commit/28a9c0d0ab659bf6334e56a9e2e4b70a0cca0778)
|
43
|
+
|
44
|
+
一方、ドキュメントの方は、ドキュメントが分割されたタイミングで、
|
45
|
+
「prefork MPMを使って 256 を超えるクライアントを構成するには、`ServerLimit` ディレクティブを使ってください。」
|
46
|
+
とだけ表記されていたところに次の初期値表記が追加されています:
|
47
|
+
|
48
|
+
```xml
|
49
|
+
<default>>MaxClients
|
50
|
+
8 (with threads) MaxClients 256</default>
|
51
|
+
```
|
52
|
+
|
53
|
+
[Start converting the mpm documentation. · apache/httpd@5fe0caf](https://github.com/apache/httpd/commit/5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e)
|
54
|
+
|
55
|
+
しかし、このタイミングでも `MaxClients` は初期値 150 です:
|
56
|
+
[httpd/httpd-std.conf at 5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e · apache/httpd](https://github.com/apache/httpd/blob/5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e/docs/conf/httpd-std.conf)
|
57
|
+
|
58
|
+
注: 設定しなかった場合に本当に 256 になるのかまでは確認していません
|
2
Add expression
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
公式ドキュメントの初期値は、`MaxRequestWorkers` 何も指定をしなかった場合の値となります
|
1
|
+
公式ドキュメントの初期値は、`MaxRequestWorkers` を何も指定をしなかった場合の値となります
|
2
2
|
|
3
3
|
なぜ `/etc/apache2/mods-enabled/` 配下に `mpm_prefork.conf` が存在し
|
4
4
|
`MaxRequestWorkers` が指定されているのか、
|
@@ -14,6 +14,9 @@
|
|
14
14
|
RUN a2dismod mpm_event && a2enmod mpm_prefork
|
15
15
|
```
|
16
16
|
|
17
|
+
モジュールを有効にすると、`/etc/apache2/mods-enabled/` 配下に
|
18
|
+
有効にしたモジュールの設定ファイルが作成されます
|
19
|
+
|
17
20
|
参考: [mods-enabled directory | Apache](https://geek-university.com/apache/mods-enabled-directory/)
|
18
21
|
|
19
22
|
`mpm_prefork` モジュールが、なぜ `MaxRequestWorkers` を 150 としているのかの根拠は
|
1
Fix expression
answer
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
なぜ `/etc/apache2/mods-enabled/` 配下に `mpm_prefork.conf` が存在し
|
4
4
|
`MaxRequestWorkers` が指定されているのか、
|
5
5
|
その理由は、php:7.4-apache の Dockerfile が
|
6
|
-
`a2enmod` コマンドで `
|
6
|
+
`a2enmod` コマンドで `mpm_prefork` モジュールを有効にしているためです:
|
7
7
|
|
8
|
-
php:7.4-apache のDockerfile では、次の箇所で `
|
8
|
+
php:7.4-apache のDockerfile では、次の箇所で `mpm_prefork` モジュールを有効にしています:
|
9
9
|
|
10
10
|
[php/Dockerfile at 64811791f0682262478d73514819908fcfe73d7f · docker-library/php](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/7.4/buster/apache/Dockerfile#L90)
|
11
11
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
参考: [mods-enabled directory | Apache](https://geek-university.com/apache/mods-enabled-directory/)
|
18
18
|
|
19
|
-
`
|
19
|
+
`mpm_prefork` モジュールが、なぜ `MaxRequestWorkers` を 150 としているのかの根拠は
|
20
20
|
軽く調べただけではわかりませんでした
|
21
21
|
|
22
22
|
Apache のコードの変更履歴を追っていけばわかるかもしれません (わからないかもしれません):
|