<?xml version="1.0" encoding="EUC-KR"?>
<!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="ko" xml:lang="ko"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>다중처리 모듈 (MPM) - Apache HTTP Server</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 href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">모듈</a> | <a href="./mod/directives.html">지시어들</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">용어</a> | <a href="./sitemap.html">사이트맵</a></p>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>다중처리 모듈 (MPM)</h1>
<div class="toplang">
<p><span>가능한 언어: </span><a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/mpm.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div>

<p>이 문서는 다중처리 모듈 (Multi-Processing Module)이 무엇이며,
아파치 웹서버가 이를 어떻게 사용하는지 설명한다.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">소개</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#choosing">MPM 선택하기</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#defaults">MPM 기본값</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="introduction" id="introduction">소개</a></h2>

    <p>아파치 웹서버는 다양한 환경의 다양한 플래폼에서 동작할
    수 있도록 강력하고 유연하게 설계되었다. 다른 플래폼과 다른
    환경은 보통 다른 기능을 요구하며, 어떤 기능을 가장 효율적으로
    구현하는 방법이 다를 수 있다. 아파치는 모듈화된 설계로 이런
    다양한 환경에 항상 적응해왔다. 그래서 웹마스터는 컴파일시
    혹은 실행시 어떤 모듈을 읽어들일지 선택하여 서버에 포함할
    기능을 결정할 수 있다.</p>

    <p>Apache 2.0은 이런 모듈화된 설계를 웹서버의 가장 기본적인
    부분에까지 확장했다. 서버는 시스템의 네트웍 포트에 연결하고,
    요청을 받아들이며, 받아들인 요청을 처리하기위해 자식들에게
    분배하는 다중처리 모듈 (Multi-Processing Modules, MPMs)을
    선택할 수 있다.</p>

    <p>서버를 이 정도로 모듈화하면 두가지 중요한 장점이
    있다:</p>

    <ul>
      <li><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code>가 Apache 1.3에서 사용한
      POSIX층 대신 자체 네트웍 기능을 사용할 수 있는 등,
      아파치는 여러 다양한 운영체제를 더 깔끔하고 효율적으로
      지원할 수 있다. 이 장점은 특화된 MPM을 구현한 다른
      운영체제에도 적용된다.</li>

      <li>서버는 특정 사이트의 요구조건에 더 특화될 수 있다.
      예를 들어 높은 확장가능성(scalability)이 필요한 사이트는
      <code class="module"><a href="./mod/worker.html">worker</a></code>와 같은 쓰레드 MPM을 사용하고,
      안정성과 오래된 소프트웨어와의 호환성이 필요한 사이트는
      <code class="module"><a href="./mod/preforking MPM.html">preforking MPM</a></code>을 사용할 수 있다.
      추가로 다른 사용자아이디로 여러 호스트를 서비스하는
      것(<code class="module"><a href="./mod/perchild.html">perchild</a></code>)과 같은 특별한 기능도
      제공된다.</li>
    </ul>

    <p>사용자가 보기에 MPM은 다른 아파치 모듈과 거의 비슷해
    보인다. 주된 차이는 서버는 한번에 오직 한 MPM만을 사용해야
    한다는 점이다. 사용가능한 MPM 목록은 <a href="mod/">모듈
    목록 페이지</a>에 있다.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="choosing" id="choosing">MPM 선택하기</a></h2>

    <p>MPMs는 구성중에 선택하여 서버에 컴파일되야 한다.
    쓰레드를 사용하는 것을 컴파일러가 알면 많은 함수를
    최적화할 수 있다. 유닉스에서 몇몇 MPM은 쓰레드를 쓰고
    나머지는 아니므로, MPM이 구성중에 선택되어 아파치에
    컴파일될때 아파치는 더 빠른 속도를 낸다.</p>

    <p>원하는 MPM을 선택하려면 ./configure 스크립트에
    with-mpm= <em>NAME</em> 아규먼트를 사용하라. <em>NAME</em>은
    원하는 MPM 이름이다.</p>

    <p>서버를 컴파일한후 <code>./httpd -l</code> 명령어로 선택한
    MPM을 알 수 있다.  이 명령어는 MPM을 포함하여 서버에 컴파일된
    모든 모듈을 알려준다.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="defaults" id="defaults">MPM 기본값</a></h2>

<p>다음 표는 여러 운영체제의 기본 MPM을 보여준다. 컴파일시
다르게 선택하지 않으면 이 MPM이 선택된다.</p>

<table>
<tr><td>BeOS</td><td><code class="module"><a href="./mod/beos.html">beos</a></code></td></tr>
<tr><td>Netware</td><td><code class="module"><a href="./mod/mpm_netware.html">mpm_netware</a></code></td></tr>
<tr><td>OS/2</td><td><code class="module"><a href="./mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
<tr><td>유닉스</td><td><code class="module"><a href="./mod/prefork.html">prefork</a></code></td></tr>
<tr><td>윈도우즈</td><td><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
</div></div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/mpm.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
<p class="menu"><a href="./mod/">모듈</a> | <a href="./mod/directives.html">지시어들</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">용어</a> | <a href="./sitemap.html">사이트맵</a></p></div>
</body></html>