1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>prefork - Apache HTTP サーバ バージョン 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache MPM prefork</h1>
<div class="toplang">
<p><span>翻訳済み言語: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="outofdate">この日本語訳はすでに古くなっている
可能性があります。
最近更新された内容を見るには英語版をご覧下さい。
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>スレッドを使わず、先行して fork を行なうウェブサーバを実装
</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>mpm_prefork_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>prefork.c</td></tr></table>
<h3>概要</h3>
<p>このマルチプロセッシングモジュール (MPM) は、
Unix 上での Apache 1.3 のデフォルトの挙動と非常によく似た方法で
リクエストを処理する、スレッドを使わず、先行して fork を行なう
ウェブサーバを実装しています。
スレッドセーフでないライブラリとの互換性をとるために、
スレッドを避ける必要のあるサイトでは、このモジュールの使用が適切でしょう。
あるリクエストで発生した問題が他のリクエストに影響しないように、
個々のリクエストを単離するのにも、最適な MPM です。</p>
<p>この MPM は非常に自律的なので、この MPM の設定ディレクティブを
調整する必要はほとんどないでしょう。もっとも重要なことは、
<code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
が、予想される同時リクエスト数を十分扱えるぐらいは大きいけれども、
全プロセスに十分な物理メモリが確実に行き渡る程度には小さい値にする、
ということです。</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">動作方法</a></li>
</ul><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Report a bug</a></li></ul><h3>参照</h3>
<ul class="seealso">
<li><a href="../bind.html">Apache
が使用するアドレスとポートの設定</a></li>
<li><a href="#comments_section">コメント</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="how-it-works" id="how-it-works">動作方法</a></h2>
<p>一つのコントロールプロセスが、
コネクションに対して listen して、しかるべき時に応答する
子プロセスを起動します。Apache は常に幾つかの<dfn>スペア</dfn>
かアイドルなサーバプロセスを維持していて、それらは入ってきた
リクエストに応答できるように待機しています。
このようにしてクライアントは、リクエストが応答される前に、
新しい子プロセスが fork されるのを待たなくてもよいように
なっています。</p>
<p>親プロセスがリクエストに応答するの子プロセスを
どのように生成するかは、
<code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>,
<code class="directive"><a href="#minspareservers">MinSpareServers</a></code>,
<code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code>,
<code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
で調整します。一般的に、Apache は非常に自律的なので、
大抵のサイトではこれらのディレクティブをデフォルト値から調整する
必要はないでしょう。
同時に 256 を超えるリクエストに応答しないといけないサイトでは、
<code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
を増やす必要があるでしょう。
一方、メモリの限られているサイトでは、スラッシング
(メモリとディスク間で何度もスワップ) が起こるのを防ぐために
<code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
を減らす必要があるでしょう。プロセス生成のチューニングに関する
詳しい情報は、<a href="../misc/perf-tuning.html">性能に関するヒント</a>
にあります。</p>
<p>通常 Unix では親プロセスは 80 番ポートにバインドするために
<code>root</code> で起動されますが、子プロセスやスレッドは
もっと低い権限のユーザで Apache によって起動されます。
<code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> と
<code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code>
ディレクティブは
Apache の子プロセスの権限を設定するのに用いられます。
子プロセスはクライアントに送るコンテンツ全てを読めないといけませんが、
可能な限り必要最小限の権限のみを持っているようにするべきです。</p>
<p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
は、古いプロセスを停止して新しいプロセスを起動することによって、
どの程度の頻度でサーバがプロセスをリサイクルするかを制御します。</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルな子サーバプロセスの最大個数</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxSpareServers <var>number</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxSpareServers 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>prefork</td></tr>
</table>
<p><code class="directive">MaxSpareServers</code> ディレクティブは、
<em>アイドルな</em>子サーバプロセスの希望最大個数を設定します。
アイドルプロセスとは、リクエストを扱っていないプロセスです。
<code class="directive">MaxSpareServers</code> よりも多い数がアイドルであれば、
親プロセスは超過プロセスを kill します。</p>
<p>非常に混んでいるサイトでのみ、このパラメータをチューニングするべきです。
このパラメータを大きくするということは、大抵の場合は悪い発想です。
<code class="directive"><a href="#minspareservers">MinSpareServers</a></code>
以下に設定した場合、<code class="directive">MinSpareServers</code>
<code>+1</code> に自動調整されます。</p>
<h3>参照</h3>
<ul>
<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルな子サーバプロセスの最小個数</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MinSpareServers <var>number</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MinSpareServers 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>prefork</td></tr>
</table>
<p><code class="directive">MaxSpareServers</code> ディレクティブは、
<em>アイドルな</em>子サーバプロセスの希望最小個数を設定します。
アイドルプロセスとは、リクエストを扱っていないプロセスです。
<code class="directive">MinSpareServers</code> よりも少ない数がアイドルであれば、
親プロセスは最高で 1 秒につき 1 個の割合で新しい子プロセスを生成します。</p>
<p>非常に混んでいるサイトでのみ、このパラメータをチューニングするべきです。
このパラメータを大きくするということは、大抵の場合は悪い発想です。</p>
<h3>参照</h3>
<ul>
<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>翻訳済み言語: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/prefork.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/prefork.html" title="Japanese"> ja </a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2025 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|