回答編集履歴
3
Add result of investigation
test
CHANGED
@@ -40,6 +40,10 @@
|
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
+
(ただし、`mpm_prefork` を有効化しなくても、`mpm_event` が最初から有効化されているため、やはり `mpm_event.conf` の初期値 150 が適用されます)
|
44
|
+
|
45
|
+
|
46
|
+
|
43
47
|
`mpm_prefork` モジュールが、なぜ `MaxRequestWorkers` を 150 としているのかの根拠は
|
44
48
|
|
45
49
|
軽く調べただけではわかりませんでした
|
@@ -49,3 +53,63 @@
|
|
49
53
|
Apache のコードの変更履歴を追っていけばわかるかもしれません (わからないかもしれません):
|
50
54
|
|
51
55
|
[apache/httpd: Mirror of Apache HTTP Server. Issues: http://issues.apache.org](https://github.com/apache/httpd)
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
## MaxRequestWorkers が MPM 設定ファイルで 150 に設定されている経緯
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
`MaxRequestWorkers` の旧名である `MaxClient` は最初 (1999 年)から 150 として指定されていたようです:
|
64
|
+
|
65
|
+
[Apache 1.3.9 baseline for the Apache 2.0 repository. · apache/httpd@77c2776](https://github.com/apache/httpd/commit/77c277683225999b00853b02ebde3bc9cf7f7f6f)
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
その後、`MaxClient` の設定は MPM の設定ごとに分割され、値は 150 が引き継がれました:
|
70
|
+
|
71
|
+
[Merged the simple-conf branch changes r159781:160695 into the trunk. · apache/httpd@fa4e866](https://github.com/apache/httpd/commit/fa4e8666003806970b6ef033d8d867f7a1ec0d89)
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
更に、次のタイミングで `MaxClients` が `MaxRequestWorkers` に更新されます:
|
76
|
+
|
77
|
+
[Rename MaxClients to MaxRequestWorkers which describes more accuratel… · apache/httpd@6d8de2f](https://github.com/apache/httpd/commit/6d8de2ff429c61103aeae1e7c486380627969f9d)
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
ちなみに、最新の Apache では「ドキュメントの初期値に合わせる」(?) ということで 250 に更新されているようです:
|
82
|
+
|
83
|
+
[Updated event mpm configuration to match the defaults in documentatio… · apache/httpd@28a9c0d](https://github.com/apache/httpd/commit/28a9c0d0ab659bf6334e56a9e2e4b70a0cca0778)
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
一方、ドキュメントの方は、ドキュメントが分割されたタイミングで、
|
88
|
+
|
89
|
+
「prefork MPMを使って 256 を超えるクライアントを構成するには、`ServerLimit` ディレクティブを使ってください。」
|
90
|
+
|
91
|
+
とだけ表記されていたところに次の初期値表記が追加されています:
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
```xml
|
96
|
+
|
97
|
+
<default>>MaxClients
|
98
|
+
|
99
|
+
8 (with threads) MaxClients 256</default>
|
100
|
+
|
101
|
+
```
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
[Start converting the mpm documentation. · apache/httpd@5fe0caf](https://github.com/apache/httpd/commit/5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e)
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
しかし、このタイミングでも `MaxClients` は初期値 150 です:
|
110
|
+
|
111
|
+
[httpd/httpd-std.conf at 5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e · apache/httpd](https://github.com/apache/httpd/blob/5fe0caf22ae8c6201cf06ff414b1bdd35d1af07e/docs/conf/httpd-std.conf)
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
注: 設定しなかった場合に本当に 256 になるのかまでは確認していません
|
2
Add expression
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
公式ドキュメントの初期値は、`MaxRequestWorkers` 何も指定をしなかった場合の値となります
|
1
|
+
公式ドキュメントの初期値は、`MaxRequestWorkers` を何も指定をしなかった場合の値となります
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -30,6 +30,12 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
+
モジュールを有効にすると、`/etc/apache2/mods-enabled/` 配下に
|
34
|
+
|
35
|
+
有効にしたモジュールの設定ファイルが作成されます
|
36
|
+
|
37
|
+
|
38
|
+
|
33
39
|
参考: [mods-enabled directory | Apache](https://geek-university.com/apache/mods-enabled-directory/)
|
34
40
|
|
35
41
|
|
1
Fix expression
test
CHANGED
@@ -8,11 +8,11 @@
|
|
8
8
|
|
9
9
|
その理由は、php:7.4-apache の Dockerfile が
|
10
10
|
|
11
|
-
`a2enmod` コマンドで `
|
11
|
+
`a2enmod` コマンドで `mpm_prefork` モジュールを有効にしているためです:
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
php:7.4-apache のDockerfile では、次の箇所で `
|
15
|
+
php:7.4-apache のDockerfile では、次の箇所で `mpm_prefork` モジュールを有効にしています:
|
16
16
|
|
17
17
|
|
18
18
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
`
|
37
|
+
`mpm_prefork` モジュールが、なぜ `MaxRequestWorkers` を 150 としているのかの根拠は
|
38
38
|
|
39
39
|
軽く調べただけではわかりませんでした
|
40
40
|
|