From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/mod/worker.html.ja.utf8 | 217 ++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 docs/manual/mod/worker.html.ja.utf8 (limited to 'docs/manual/mod/worker.html.ja.utf8') diff --git a/docs/manual/mod/worker.html.ja.utf8 b/docs/manual/mod/worker.html.ja.utf8 new file mode 100644 index 0000000..b915922 --- /dev/null +++ b/docs/manual/mod/worker.html.ja.utf8 @@ -0,0 +1,217 @@ + + + + + +worker - Apache HTTP サーバ バージョン 2.4 + + + + + + + + +
<-
+ +
+

Apache MPM worker

+
+

翻訳済み言語:  de  | + en  | + fr  | + ja  | + tr 

+
+
この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 +
+ + + +
説明:マルチスレッドとマルチプロセスのハイブリッド型 +ウェブサーバを実装したマルチプロセッシングモジュール
ステータス:MPM
モジュール識別子:mpm_worker_module
ソースファイル:worker.c
+

概要

+ +

このマルチプロセッシングモジュール (MPM) + は、マルチスレッドとマルチプロセスのハイブリッド型サーバを + 実装しています。リクエストの応答にスレッドを使うと、 + プロセスベースのサーバよりも少ないシステム資源で、 + 多くのリクエストに応答することができます。 + それにもかかわらず、多くのスレッドを持った複数のプロセスを + 維持することで、 + プロセスベースのサーバの持つ安定性も保持しています。

+ +

この MPM を制御するのに使われる最も重要なディレクティブは、 + ThreadsPerChild と + MaxClients です。 + ThreadsPerChild は + 各子プロセスで用意されるスレッド数を制御して、 + MaxClients は + 起動されるスレッドの総数の最大値を制限します。

+
+ +
top
+
+

動作方法

+

一つの制御用プロセス (親) が子プロセスを起動します。 + 子プロセスは + ThreadsPerChild + ディレクティブで指定された一定数のサーバスレッドと接続を + listen するスレッドを一つ作ります。 + Listener スレッドは接続が来たときにサーバプロセスに渡します。

+ +

Apache はスペアの、つまりアイドルなサーバスレッドの + プールを常に維持していて、それらは入ってくるリクエストに + 答えられるように待機しています。 + このようにして、クライアントはリクエストの応答が得られるようになるために + 新しいスレッドやプロセスが生成されるのを + 待たなくてもよいようになっています。 + 起動初期時のプロセス総数は、 + StartServers + ディレクティブで設定されます。稼働中に、 + Apache は全プロセスのアイドルスレッドの合計数を見積もって、 + MinSpareThreads と + MaxSpareThreads + で指定された範囲の中にこの数が収まるように fork したり + kill したりします。この操作は非常に自律的なので、 + これらのディレクティブをデフォルト値から変更する必要は + めったにないでしょう。 + 同時に応答することのできるクライアント数の最大数 + (つまり全プロセス中の総スレッド数の最大値) は + MaxClients + ディレクティブで決定されます。 + 活動中の子プロセス数の最大値は + MaxClients を + ThreadsPerChild で割った + ものになります。

+ +

活動中の子プロセスの数と子プロセス中のサーバスレッドの数の越えられない + 上限を設定するディレクティブが二つあります。これらはサーバを + 完全に停止して、再起動することでしか変更することはできません。 + ServerLimit + は活動中の子プロセスの越えられない上限を設定し、 + MaxClients ディレクティブ + の値を + ThreadsPerChild の値で割った値以上である + 必要があります。ThreadLimit は + サーバスレッドの越えられない上限で、ThreadsPerChild ディレクティブの + 値以上である必要があります。

+ +

活動中の子プロセス群に加えて、少なくとも一つのサーバスレッドが + 既存のクライアントからの接続を扱っている終了しようとしている + 子プロセスがある可能性があります。終了中のプロセスは MaxClients で指定された数まで + 存在できますが、実際に期待される数はずっと少なくなります。この + 振舞いは各子プロセスを終了させないようにすることで回避できます。 + これは以下の様にして実現できます。

+ + + +

worker MPM の典型的なプロセス・スレッド制御の + 設定では、次のようになります。

+ +

+ ServerLimit 16
+ StartServers 2
+ MaxClients 150
+ MinSpareThreads 25
+ MaxSpareThreads 75
+ ThreadsPerChild 25 +

+ +

通常 Unix では親プロセスは 80 番ポートにバインドするために + root で起動されますが、子プロセスやスレッドは + もっと低い権限のユーザで Apache によって起動されます。 + User と + Group ディレクティブは + Apache の子プロセスの権限を設定するのに用いられます。 + 子プロセスはクライアントに送るコンテンツ全てを読めないといけませんが、 + 可能な限り必要最小限の権限のみを持っているようにするべきです。 + さらに、suexec + が使用されていない限り、これらのディレクティブは + CGI スクリプトで継承される権限も設定します。

+ +

MaxRequestsPerChild + は、古いプロセスを停止して新しいプロセスを起動することによって、 + どの程度の頻度でサーバがプロセスをリサイクルするかを制御します。

+
+
+
+

翻訳済み言語:  de  | + en  | + fr  | + ja  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3