<?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="tr" xml:lang="tr"><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>worker - Apache HTTP Sunucusu Sürüm 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/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</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 Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Modüller</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache MPM worker</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok
süreçlilik modülü.</td></tr>
<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>mpm_worker_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>worker.c</td></tr></table>
<h3>Özet</h3>

    <p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli
      olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri
      kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı
      harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri
      çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli
      sunucu kadar kararlı olur.</p>

    <p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her
      çocuk süreç için konuşlandırılacak evre sayısını belirleyen <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesi ile devreye
      sokulacak toplam evre sayısının azamisini belirleyen <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesidir.</p>
</div>
<div id="quickview"><h3>Konular</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Nasıl çalışır?</a></li>
</ul><h3 class="directives">Yönergeler</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/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</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="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
<h3>Ayrıca bakınız:</h3>
<ul class="seealso">
<li><a href="../bind.html">Apache HTTP Sunucusunun kullandığı adres ve
  portların ayarlanması</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Yorum</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">Nasıl çalışır?</a></h2>
    <p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur.
      Her çocuk süreç <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesinde belirtilen sayıda evre
      konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları
      dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine
      aktarır.</p>

    <p>Apache HTTP Sunucusu daima, gelen isteklere hizmet sunmaya hazır
      <dfn>yedek</dfn>
      veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya
      çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk
      süreçlerin çatallanmasını, dolayısıyla yeni evrelerin
      konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk
      süreçlerin sayısı <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> yönergesinde belirtilir.
      Apache httpd, çalışma süresi boyunca <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> ve <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> yönergeleri ile belirtilen sınırlar
      dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde
      yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit
      tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu
      yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren
      gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani,
      tüm süreçlerin toplam evre sayısı) <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesi ile belirlenir. Etkin çocuk
      süreçlerin sayısı ise <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere
      bölünmesi ile elde edilir.</p>

    <p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her
      çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu
      sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak
      değiştirilebilir. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> yönergesinin değeri etkin çocuk süreç
      sayısının üst sınırı olup <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> yönergesindeki değerin <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değere
      bölünmesi ile elde değere eşit veya bundan küçük olması gerekir.
      <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> yönergesinin
      değeri ise sunucu evreleri sayısının üst sınırını belirler ve <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> yönergesindeki değerden
      büyük veya ona eşit olması gerekir.</p>

    <p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci
      bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka
      fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç
      sayısının en fazla <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> olması gerekirse de gerçekte sayı bundan
      küçük olabilir.  Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması
      iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p>

    <ul>
      <li><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>
        yönergesinin değeri sıfır yapılır.</li>

      <li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> ve
        <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>
        yönergelerinin değerleri birbirine eşitlenir.</li>
    </ul>

    <p><code class="module"><a href="../mod/worker.html">worker</a></code> modülünün öntanımlı süreç-evre yapılandırması
      genelde şöyledir:</p>

    <pre class="prettyprint lang-config">ServerLimit         16
StartServers         2
MaxRequestWorkers  150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25</pre>


    <p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından
      çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache
      httpd tarafından daha az yetkili bir kullanıcının aidiyetinde
      çalıştırılırlar. Apache httpd’nin çocuk süreçlerinin kullanıcı ve
      gruplarını ayarlamak için <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>
      ve <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> yönergeleri
      kullanılır.
      Çocuk süreçlerin sunacakları içeriği okumaya yetkili olmaları gerekir,
      fakat bu yetkinin mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır.
      Bundan başka, <code class="program"><a href="../programs/suexec.html">suexec</a></code> kullanılmadığı takdirde, bu
      yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı
      ve grubu da ayarlarlar.</p>

    <p><code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>
      yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı
      ne kadar sıklıkla yapacağını denetler.</p>

    <p>Bu MPM, gürleyen sürü sorunu ortaya çıktığında (genelde çok sayıda
      dinlenen soket varlığında) gelen bağlantılara erişimi dizgileştirmek için
      <code>mpm-accept</code> muteksini kullanır. Bu muteksin gerçeklenimle
      ilgili hususları <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> yönergesi ile
      yapılandırılabilir. Bu muteks hakkında ek bilgi  için <a href="../misc/perf-tuning.html">başarımın arttırılması</a>
      belgesine bakınız.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/worker.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/worker.html" title="Türkçe">&nbsp;tr&nbsp;</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">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again 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 Freenode, or sent to our <a href="http://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/worker.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 2015 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>