<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
<!-- English Revision: 1805221:1853619 (outdated) -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
   Reviewed by: Orhan Berent <berent belgeler.gen.tr>
========================================================== -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mpm_common.xml.meta">

<name>mpm_common</name>
<description>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş
  yönergeler bütünü.</description>
<status>MPM</status>

<directivesynopsis>
<name>CoreDumpDirectory</name>
<description><code>core</code> dosyasını dökümlemek üzere Apache HTTP
    Sunucusunun geçmeye çalışacağı dizin.</description>
<syntax>CoreDumpDirectory <var>dizin</var></syntax>
<default>Öntanımlı değer için aşağıdaki açıklamaya bakınız</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module></modulelist>

<usage>
    <p>Bu yönerge <code>core</code> dosyasını dökümlemek üzere Apache httpd’nin
      geçmeye çalışacağı dizini belirler. Eğer işletim sisteminiz, çöken bir
      sürecin olması durumunda <code>core</code> dosyasını çöken sürecin
      çalışma dizinine yazacak şekilde yapılandırılmışsa,
      <directive>CoreDumpDirectory</directive> yönergesinin değeri olarak,
      öntanımlı olan ve sunucuyu çalıştıran kullanıcı tarafından yazılamayan
      <directive module="core">ServerRoot</directive> dizini yerine başka bir
      çalışma dizini belirtmek gerekir.</p>

    <p>Hata ayıklamak amacıyla bir <code>core</code> dosyası dökümlemek
      isterseniz farklı bir yer belirtmek için bu yönergeyi
      kullanabilirsiniz. Eğer işletim sisteminiz çöken bir sürecin olması
      durumunda <code>core</code> dosyasını çöken sürecin çalışma dizinine
      yazacak şekilde yapılandırılmamışsa, bu yönergenin bir etkisi olmaz.</p>

    <note><title>Linux üzerinde <code>core</code> dökümlemek</title>
      <p>Apache httpd root olarak başlatılıp başka bir kullanıcıya geçilirse
        Linux çekirdeği, süreç tarafından yazılabilir olsa bile
        <code>core</code> dökümlemeyi <em>iptal eder</em>. Eğer
        <directive>CoreDumpDirectory</directive> yönergesi ile açıkça bir
        dizin belirtirseniz, Apache httpd (2.0.46 ve sonraki sürümleri), Linux
        2.4 ve sonrasında <code>core</code> dökümlemeyi yeniden
        etkinleştirecektir.</p>
    </note>

    <note>
    <title>BSD üzerinde <code>core</code> dökümlemek</title>
    <p>BSD sistemlerinde (FreeBSD gibi) suid bitli çalıştırılabilirlerin
      <code>core</code> dökümlemesini etkin kılmak için
      <code>kern.sugid_coredump</code> değişkenine 1 değerini atayın.
    </p>
    </note>

    <note><title>Özel sinyaller</title>
      <p><directive>CoreDumpDirectory</directive> işlemi sadece belli
        sinyaller için gerçekleşir: SIGFPE, SIGILL, SIGABORT, SIGSEGV ve
        SIGBUS.</p>
      <p>Bazı işletim sistemlerinde SIGQUIT sinyali de bir <code>core</code>
        dosyası dökümler ancak bunu <directive>CoreDumpDirectory</directive>
        veya <directive>EnableExceptionHook</directive> işlemi üzerinden
        yapmaz, dolayısıyla <code>core</code> dosyasının yeri tamamen işletim
        sisteminin belirlediği yer olur.</p>
    </note>

</usage>
</directivesynopsis>

<directivesynopsis>
<name>EnableExceptionHook</name>
<description>Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak
  kancayı etkin kılar.</description>
<syntax>EnableExceptionHook On|Off</syntax>
<default>EnableExceptionHook Off</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module></modulelist>

<usage>
    <p>Güvenlik sebebiyle bu yönerge sadece Apache
      <code>--enable-exception-hook</code> seçeneği ile yapılandırılmışsa
      kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk
      sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin
      kılar.</p>

    <p>Bu kancayı kullanan iki modül (<code>mod_whatkilledus</code> ve
    <code>mod_backtrace</code>) zaten vardır. bunlar hakkında daha fazla bilgi
      edinmek için Jeff Trawick'in <a
      href="https://emptyhammock.com/projects/httpd/diag/"
      >EnableExceptionHook site</a>sine bakabilirsiniz.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>GracefulShutdownTimeout</name>
<description>Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar
  geçecek süre için bir zaman aşımı belirler.</description>
<syntax>GracefulShutdownTimeout <var>saniye</var></syntax>
<default>GracefulShutdownTimeout 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module></modulelist>
<compatibility>Sürüm 2.2 ve sonrasında mevcuttur</compatibility>

<usage>
    <p><directive>GracefulShutdownTimeout</directive> yönergesi, sunucuya
      "nazikçe dur" sinyali gönderildikten sonra mevcut bağlantılara hizmet
      sunmaya daha kaç saniye devam edebileceğini belirtir.</p>

    <p>Bu değerin <code>0</code> olarak belirtilmesi, sunucunun bekleyen bütün
      isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar)
      bekleyebileceği anlamına gelir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>PidFile</name>
<description>Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</description>
<syntax>PidFile <var>dosya</var></syntax>
<default>PidFile logs/httpd.pid</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpmt_os2</module>
</modulelist>

<usage>
    <p><directive>PidFile</directive> yönergesi, sunucunun artalan sürecinin
      süreç kimliğinin kaydedileceği dosyayı belirler. Dosya ismi mutlak dosya
      yoluyla belirtilmemişse dosya yolunun <directive
      module="core">ServerRoot</directive> dizinine göre belirtildiği kabul
      edilir.</p>

    <highlight language="config">
PidFile /var/run/apache.pid
    </highlight>

    <p>Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece <directive
      module="core">ErrorLog</directive> ve <directive
      module="mod_log_config">TransferLog</directive> dosyaları kapatılıp
      yeniden açılır ve yapılandırma dosyaları yeniden okunur. Bu,
      <directive>PidFile</directive> dosyasında belirtilen süreç kimliğine bir
      SIGHUP (kill -1) sinyali gönderilerek yapılır.</p>

    <p>Günlük dosyasının yeri ve <a
      href="../misc/security_tips.html#serverroot">güvenlik</a> ile ilgili
      uyarılar <directive>PidFile</directive> dosyası içinde sözkonusu
      olabilir.</p>

    <note><title>Ek Bilgi</title>
      <p>Apache HTTP Sunucusunu (yeniden) başlatırken veya durdururken sadece
        <program>apachectl</program> betiğini kullanmanız önerilir.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>Listen</name>
<description>Sunucunun dinleyeceği IP adresini ve portu belirler.</description>
<syntax>Listen [<var>IP-adresi</var>:]<var>port-numarası</var>
  [<var>protokol</var>]</syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>
<compatibility><var>protokol</var> değiştirgesi 2.1.5 sürümünde
    eklenmiştir.</compatibility>

<usage>
    <p><directive>Listen</directive> yönergesi Apache httpd’yi sadece belli IP
      adreslerini ve portlarını dinlemeye sevkeder.
      <directive>Listen</directive> artık belirtilmesi zorunlu yönergelerden
      biridir. Yapılandırma dosyasında bulunmadığı takdirde sunucu
      başlatılırken başarısız olacaktır. Bu Apache HTTP Sunucusunun önceki
      sürümünde böyle değildi.</p>

    <p><directive>Listen</directive> yönergesi Apache httpd’ye, sadece belli
      portlardan veya IP adresi ve port çiftlerinden gelen istekleri kabul
      etmesini söyler. Eğer sadece port numarası belirtilmişse sunucu
      belirtilen portu bütün ağ arabirimlerinde dinleyecektir. Eğer portla
      birlikte bir IP adresi de belirtilmişse, sunucu belirtilen portu sadece
      belirtilen arabirimden dinleyecektir.</p>

    <p>Çok sayıda IP adresi ve port belirtmek için çok sayıda
      <directive>Listen</directive> yönergesi kullanılabilir. Sunucu bu
      durumda belirtilen bütün IP adreslerinden ve portlardan gelecek
      isteklere yanıt verecektir.</p>

    <p>Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini
      istiyorsanız bunu şöyle belirtebilirsiniz:</p>

    <highlight language="config">
Listen 80
Listen 8000
    </highlight>

    <p>Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen
      bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:</p>

    <highlight language="config">
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
    </highlight>

    <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına
      alınmalıdır:</p>

    <highlight language="config">
Listen [2001:db8::a00:20ff:fea7:ccea]:80
    </highlight>

    <p>İsteğe bağlı <var>protocol</var> argümanı çoğu yapılandırmada gerekli
      değildir. Belirtilmediği takdirde. port 443 için <code>https</code> ve
      tüm diğer portlar için <code>http</code> öntanımlıdır. Protokol, isteği
      hangi modülün elde edeceğinin ve <directive
      module="core">AcceptFilter</directive> yönergesi ile protokole özgü
      hangi en iyilemelerin uygulanacağının saptanmasında kullanılır.</p>

    <p>Protokol belirtme ihtiyacını sadece standartdışı portlar
      çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir
      <code>https</code> sitesi çalıştırmak istiyorsanız bunu şöyle
      belirtebilirsiniz:</p>

    <highlight language="config">
Listen 192.170.2.1:8443 https
    </highlight>

    <note><title>Hata durumu</title>
      Aynı IP adresi ve portun çok sayıda <directive>Listen</directive>
      yönergesinde belirtilmesi bir "adres kullanımda" (<code>Address already
      in use</code>) hatasına yol açar.
    </note>

</usage>
<seealso><a href="../dns-caveats.html">DNS ve Apache ile ilgili Konular</a> </seealso>
<seealso><a href="../bind.html">Apache HTTP Sunucusunun Kullandığı Adreslerin
    ve Portların Ayarlanması</a></seealso>
<seealso><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress"
><code>Address already in use</code> hata iletisinin ve diğer sebeplerin
açıklaması</a></seealso>
</directivesynopsis>

<directivesynopsis>
<name>ListenCoresBucketsRatio</name>
<description>İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı</description>
<syntax>ListenCoresBucketsRatio <var>oran</var></syntax>
<default>ListenCoresBucketsRatio 0 (iptal)</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module></modulelist>
<compatibility>Apache HTTP Server 2.4.17 ve sonrasında,
 <code>SO_REUSEPORT</code> soket seçeneğini destekleyen bir Linux çekirdeğinin
 varlığında ve yeni bağlantıların bunu kullanan dinleme süreçlerinin (veya
 evrelerinin) soketleri arasında eşit paylaştırılıyor olması halinde
 kullanılır. Örneğin Linux 3.9 ve sonrasında kullanılabilirken *BSD'lerin şu
 anki <code>SO_REUSEPORT</code> gerçeklenimi ile kullanılamaz.</compatibility>

<usage>
    <p>(çevrimiçi) İşlemci çekirdek sayısının dinleyenlerin buket sayısına
      <var>oran</var>ı, Apache HTTP Sunucusunun <code>işlemci_çekirdek_sayısı /
      oran</code> sayıda dinleme buketi oluşturması için kullanılabilir ve bu
      buketlerin herbiri aynı portlar üzerinde kendi
      <directive>Listen</directive> soketlerini içeriyor olurlar. Bu durumda,
      her çocuk süreç tek bir buketle çalışır (çocukların oluşturulması
      sırasında buketler döner dağılımla eşleştirilir).</p>

    <note><title>"çevrimiçi" İşlemci çekirdek sayısının anlamı</title>
    <p>Linux için (ve ayrıca BSD) bir işlemci çekirdeği <a 
      href="https://www.kernel.org/doc/Documentation/cpu-
      hotplug.txt">Hotplug</a> yapılandırılarak açılıp kapatıalbilir. 
      Dolayısıyla, <directive>ListenCoresBucketsRatio</directive> yönergesi 
      oluşturulacak buket sayısını hesaplarken bu yapılandırmayı esas alır.</p>
    </note>

    <p><directive>ListenCoresBucketsRatio</directive> yeni bağlantılar kabul
      edilirken/darboğazlar oluşurken ölçeklenebilirliği arttırabilir. Çok
      sayıda işlemci çekirdekli sistemlerde bu özelliğin etkinleştirilmesinin
      önemli başarım artışları ve daha kısa yanıt süreleri oluşturduğu
      gözlenmiştir.</p>

    <p>Bu <var>oran</var>ın etkin olabilmesi için işlemci çekirdeği çift sayıda
      olmalıdır. <var>oran</var> için önerilen değer <code>8</code> olup bu
      durumda çalışma anında en azından <code>16</code> çekirdek
      kullanılabiliyor olmalıdır. En iyi başarımı elde etmek gereken 
      <var>oran</var> her sistem için hesaplanmalı, çok sayıda değer denenmeli 
      ve başlıca başarım ölçütlerinizin çeşitli sonuçları iyi gözlemlenmelidir. 
      </p>
      
    <p>Bu yönerge aşağı yuvarlanan    
      <directive module="mpm_common">MinSpareThreads</directive> ve 
      <directive module="mpm_common">MaxSpareThreads</directive> değerlerinin 
      hesabını etkiler. Bağlantıları en uygun şekilde kabul etmek için çocuk 
      süreçlerin sayısının buket sayısının katları olması gerekir.</p>

    <note>
    <title>Çok sayıda <directive>Listen</directive> veya aynı adres veya port 
      üstünda çok sayıda Apache HTTP sunucusu</title>
    <p>Dinleyen soketler üzerinde <code>SO_REUSEPORT</code> seçeneğini tanımlamak 
      normal bir durumda sistem tarafından oluşturulmuş bir bağlama hatası 
      olmaksızın çok sayıda sürecin aynı adres ve porta bağlanması sonucunu 
      doğurur.</p>
    <p>Bu ayrıca pozitif bir <directive>ListenCoresBucketsRatio</directive> 
      değeriyle aynı <code>IP:port</code> üzerinde yapılandırılmış çok sayıda 
      Apache httpd örneğinin hatasız başlamasının yanında gelen çağrıların her 
      iki örneğe eşit olarak dağıtılacağı anlamına da gelir. (Bu, 
      herhangi bir durumda bir öneri veya makul bir kullanım DEĞİL, böyle bir 
      olası sorunun algılanmasının engelleneceğine dair bir uyarıdır.)</p>
    <p>Aynı örnek dahilinde, çok sayıda <directive>Listen</directive> 
      yönergesinin tam olarak aynı IP ve port üzerinde yapılandırılması durumunda 
      Apache httpd gerekli sınamaları yaptıktan sonra başlamayacak, böylelikle 
      birbirinin benzeri çok sayıda kullanışsız buketin oluşturulması 
      engellenecektir. Ancak, olası tüm örtüşmeler (bir konak adının başka bir 
      yerde kullanılmış bir IP'ye çözümlenmesi gibi) yakalanamayacaktır.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ListenBackLog</name>
<description>Bekleyen bağlantılar kuyruğunun azami uzunluğunu
  belirler</description>
<syntax>ListenBacklog <var>kuyruk-uzunluğu</var></syntax>
<default>ListenBacklog 511</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p>Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne
      gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme
      saldırılarına karşı bu değerin arttırılması gerekebilir.
      <var>kuyruk-uzunluğu</var> parametresi için <code>listen(2)</code>
      işlevinin açıklamasına bakınız.</p>

    <p>Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla
      sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir.
      Ayrıca, çoğu işletim sisteminin <var>kuyruk-uzunluğu</var> parametresi
      ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat
      normal olarak daha büyüğünü) kullanacağına dikkat ediniz.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxRequestWorkers</name>
<description>Aynı anda işleme sokulacak azami bağlantı sayısı</description>
<syntax>MaxRequestWorkers <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module>
</modulelist>

<usage>
    <p><directive>MaxRequestWorkers</directive> yönergesi aynı anda işleme
      sokulacak bağlantı sayısını sınırlamak için kullanılır. <directive
      >MaxRequestWorkers</directive> bağlantı isteğinden fazlası geldiği
      takdirde bu istekler normal olarak kuyruğa alınıp bekletilir. Kuyrukta
      bekletilecek isteklerin azami sayısı ise <directive module="mpm_common"
      >ListenBacklog</directive> yönergesi ile belirlenir. İstek sunmakta olan
      çocuk süreçlerden biri serbest kaldığında bekletilen bağlantılardan
      birine hizmet sunulmaya başlanır.</p>

    <p>Evreli olmayan sunucularda (<module>prefork</module> gibi)
      <directive>MaxRequestWorkers</directive> yönergesi istekleri sunmak için
      başlatılacak çocuk süreçlerin azami sayısını belirler. Öntanımlı değer
      256 olup bu değeri arttırmak isterseniz <directive
      module="mpm_common">ServerLimit</directive> değerini de
      arttırmalısınız.</p>

    <p>Çok evreli ve melez sunucularda (<module>event</module> veya
      <module>worker</module> gibi) <directive>MaxRequestWorkers</directive>
      yönergesi istemcilere hizmet verecek evre sayısını sınırlar. Öntanımlı
      değer melez MPM’ler için 16'dır
      (<directive module="mpm_common">ServerLimit</directive> ile <directive
      module="mpm_common">ThreadsPerChild</directive> çarpılır: <code>16 x
      25</code>). Bu bakımdan <directive>MaxRequestWorkers</directive> değerini
      16 süreçten fazlasına ayarlamak için <directive module="mpm_common"
      >ServerLimit</directive> değerini de arttırmalısınız.</p>

    <p><directive>MaxRequestWorkers</directive> yerine 2.3.13 öncesinde
      <directive>MaxClients</directive> kullanılırdı. Eski isim hala
      desteklenmektedir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxMemFree</name>
<description><code>free()</code> çağrılmaksızın ana bellek ayırıcının
  ayırmasına izin verilen azami bellek miktarını belirler.</description>
<syntax>MaxMemFree <var>kB-sayısı</var></syntax>
<default>MaxMemFree 2048</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module>
</modulelist>

<usage>
    <p><directive>MaxMemFree</directive> yönergesi, <code>free()</code>
      çağrılmaksızın her bellek ayırıcının ayırmasına izin verilen azami
      bellek miktarını kB cinsinden belirler. Evreli MPM'lerde her evre kendi
      ayırıcısına sahiptir. <code>0</code> değeri belirtildiğinde eşik sınırsız
      olacaktır.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxConnectionsPerChild</name>
<description>Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek
  sayısını sınırlamakta kullanılır.</description>
<syntax>MaxConnectionsPerChild <var>sayı</var></syntax>
<default>MaxConnectionsPerChild 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>
<compatibility>Apache HTTP Sunucusunun 2.3.9 ve sonraki sürümlerinde
    kullanılabilmektedir. Eski isim <code>MaxRequestsPerChild</code> hala
    desteklenmektedir.</compatibility>

<usage>
    <p><directive>MaxConnectionsPerChild</directive> yönergesi, tek bir çocuk
      sürecin işleme sokabileceği istek sayısını sınırlamakta kullanılır.
      <directive>MaxConnectionsPerChild</directive> istekten sonra çocuk süreç
      ölür. Eğer <directive>MaxConnectionsPerChild</directive> için
      <code>0</code> belirtilmişse sürecin ömrü sonsuz olacaktır.</p>

    <p><directive>MaxConnectionsPerChild</directive> için sıfırdan farklı bir
      değer belirtilmesi sürecin kullanacağı bellek miktarını sınırlamak
      suretiyle olası bellek sızıntılarını engeller.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxSpareThreads</name>
<description>Boştaki azami evre sayısını belirler</description>
<syntax>MaxSpareThreads <var>number</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p>Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı
      davranır.</p>

    <p><module>worker</module> ve <module>event</module> için
      <code>MaxSpareThreads 250</code> öntanımlıdır. Bu MPM'ler boştaki
      evreleri sunucu genelinde izler. Eğer sunucuda çok fazla boşta evre
      varsa, sunucu boştaki evrelerin sayısı bu sınırın altına inene kadar
      çocuk süreçleri öldürür. 
      <directive module="mpm_common">ListenCoresBucketsRatio</directive> 
      yönergesi etkinse ek süreçler/evreler oluşabilir.</p>

    <p><module>mpm_netware</module> için <code>MaxSpareThreads 100</code>
      öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre
      sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.</p>

    <p><module>mpmt_os2</module> modülü <module>mpm_netware</module> modülü
      gibi çalışır. <module>mpmt_os2</module> için öntanımlı değer
      <code>10</code>'dur.</p>

    <note><title>Kısıtlamalar</title>
      <p><directive>MaxSpareThreads</directive> için değer aralığı sınırlıdır.
        Apache httpd belirtilen değeri aşağıdaki kurallara uygun olarak
        kendiliğinden düzeltecektir:</p>
      <ul>
        <li><module>mpm_netware</module> modülü, değerin <directive
          module="mpm_common">MinSpareThreads</directive> değerinden küçük
          olmasını gerektirir.</li>

        <li><module>worker</module> ve <module>event</module> için değer,
          <directive module="mpm_common">MinSpareThreads</directive>
          ve <directive module="mpm_common">ThreadsPerChild</directive>
          toplamına eşit veya büyük olmak zorundadır.</li>
      </ul>
    </note>
</usage>
<seealso><directive module="mpm_common">MinSpareThreads</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
<seealso><directive module="prefork">MaxSpareServers</directive></seealso>
</directivesynopsis>

<directivesynopsis>
<name>MinSpareThreads</name>
<description>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
  sayısını belirler.</description>
<syntax>MinSpareThreads <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
      sayısı. Her MPM bu yönerge karşısında farklı davranır.</p>

    <p><module>worker</module> ve <module>event</module> modülü için
      <code>MinSpareThreads 75</code> öntanımlıdır ve bu modül boştaki evreleri
      sunucu genelinde izler. Eğer sunucuda boştaki evre sayısı yetersizse,
      sunucu, boştaki evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk
      süreç oluşturur.
      <directive module="mpm_common">ListenCoresBucketsRatio</directive> 
      yönergesi etkinse ek süreçler/evreler oluşabilir.</p>

    <p><module>mpm_netware</module> için <code>MinSpareThreads 10</code>
      öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde
      yapılır.</p>

    <p><module>mpmt_os2</module> modülü <module>mpm_netware</module> modülü
      gibi çalışır. <module>mpmt_os2</module> için öntanımlı değer
      <code>5</code>'tir.</p>

</usage>
<seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
<seealso><directive module="prefork">MinSpareServers</directive></seealso>
</directivesynopsis>

<directivesynopsis>
<name>ScoreBoardFile</name>
<description>Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan
  dosyanın yerini belirler.</description>
<syntax>ScoreBoardFile <var>dosya-yolu</var></syntax>
<default>ScoreBoardFile logs/apache_runtime_status</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
</modulelist>

<usage>
    <p>Apache HTTP Sunucusu ana ve çocuk süreçler arasında iletişim için bir
      çetele tutar.
      Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir.
      Eğer yönerge belirtilmezse Apache httpd çeteleyi önce tamamen bellekte
      oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı
      olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe
      eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache httpd'nin
      dosyayı daima diskte oluşturmasına sebep olur.</p>

    <highlight language="config">
ScoreBoardFile /var/run/apache_status
    </highlight>

    <p>Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken
      üçüncü parti uygulamalar için yararlıdır.</p>

    <p>Eğer <directive>ScoreBoardFile</directive> yönergesi ile bir dosya
      belirtecekseniz, dosyayı bir RAM diske yerleştirerek hız artışı
      sağlayabilirsiniz. Fakat, günlük dosyası yerleştirme ve <a
      href="../misc/security_tips.html">güvenlik</a> ile ilgili uyarılara
      benzer uyarılara karşı dikkatli olunuz.</p>
</usage>
<seealso><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden
  Başlatma</a> </seealso>
</directivesynopsis>

<directivesynopsis>
<name>ReceiveBufferSize</name>
<description>TCP alım tamponu boyu</description>
<syntax>ReceiveBufferSize <var>bayt-sayısı</var></syntax>
<default>ReceiveBufferSize 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p>Sunucunun TCP alım tamponu boyunu <var>bayt-sayısı</var> ile belirtilen
      bayta ayarlar.</p>

    <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını
      kullanacaktır.</p>

</usage>
</directivesynopsis>

<directivesynopsis>
<name>SendBufferSize</name>
<description>TCP tamponu boyu</description>
<syntax>SendBufferSize <var>bayt-sayısı</var></syntax>
<default>SendBufferSize 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpm_winnt</module>
<module>mpm_netware</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p>Sunucu TCP gönderim tamponu boyunu <var>bayt-sayısı</var> ile
      belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süreli
      bağlantılarda işletim sisteminin öntanımlı değerini aşacak şekilde (örn,
      kıtalararası hızlı hatlarda 100ms veya fazlası) ayarlamak çoğunlukla
      kullanışlıdır.</p>

    <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını
      kullanacaktır.</p>

    <p>İşletim sisteminizin ilaveten yapılandırılması, yüksek hız, yüksek
      gecikme bağlantılarında daha yüksek başarım elde etmek için gerekli
      olabilir.</p>

    <note><p>Bazı işletim sistemlerinde, TCP davranışı, <directive
      module="core">EnableSendfile</directive> yönergesine <code>Off</code>
      değeri atanmadıkça görülemeyen, büyükçe bir
      <directive>SendBufferSize</directive> değerinden kaynaklanarak değişir.
      Bu etkileşim sadece duruk dosyalarda görülür.</p> </note>

</usage>
</directivesynopsis>

<directivesynopsis>
<name>ServerLimit</name>
<description>Ayarlanabilir süreç sayısının üst sınırını belirler.</description>
<syntax>ServerLimit <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module>
</modulelist>

<usage>
    <p><module>prefork</module> modülü söz konusu olduğunda bu yönerge, Apache
      httpd sürecinin ömrü boyunca <directive module="mpm_common"
      >MaxRequestWorkers</directive> yönergesine atanabilecek
      azami değeri belirler. <module>worker</module> ve <module>event</module>
      modülü sözkonusu
      olduğunda ise, Apache httpd sürecinin ömrü boyunca <directive
      module="mpm_common">MaxRequestWorkers</directive> yönergesine
      atanabilecek  azami değeri <directive module="mpm_common"
      >ThreadLimit</directive> ile birlikte belirler. <module>event</module> modülü 
      için bu yönerge kaç eski sunucunun çalışmayı sürdüreceğini ve kaçının açık 
      bağlantıları işlemeyi bitireceğini belirler. Bu yönergeyi bir yeniden
      başlatma sırasında değiştirirseniz bu değişiklik yok sayılır fakat
      <directive module="mpm_common">MaxRequestWorkers</directive>
      değişiklikleri dikkate alınır.</p>

    <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
      <directive>ServerLimit</directive> gereğinden yüksek bir değere
      ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer
      <directive>ServerLimit</directive> ve <directive
      module="mpm_common">MaxRequestWorkers</directive> değerleri sistemin
      işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd
      başlayamayacağı gibi sistemi kararsız hale de getirebilir.</p>

    <p>Bu yönergeyi <module>prefork</module> modülü ile sadece <directive
      module="mpm_common">MaxRequestWorkers</directive> yönergesine 256’dan
      (öntanımlı) daha büyük bir değer atayacaksanız kullanınız. Bu yönergeye
      <directive module="mpm_common">MaxRequestWorkers</directive> için atamak
      istediğiniz değerden fazlasını atamayınız.</p>

    <p><module>worker</module> modülü söz konusu olduğunda bu yönergeyi
      <directive module="mpm_common">MaxRequestWorkers</directive> ve
      <directive module="mpm_common">ThreadsPerChild</directive> ayarları 16
      sunucu sürecinden (16 öntanımlıdır) fazlasını gerektiriyorsa
      ayarlayınız. Bu yönergeye <directive module="mpm_common"
      >MaxRequestWorkers</directive> ve <directive module="mpm_common"
      >ThreadsPerChild</directive> için gerekli gördüğünüz sunucu süreci
      sayısından fazlasını atamayınız.</p>

    <p><module>event</module> modülü söz konusu olduğunda, <directive
      module="mpm_common">MaxRequestWorkers</directive> ve <directive
      module="mpm_common">ThreadsPerChild</directive> yönergeleri ile belirlenen 
      süreç sayısına ek olarak zarifçe kapatılan süreçlerin sayısıyla arttırıp 16
      sunucu sürecinden (16 öntanımlıdır) fazlasına ayarlayınız.</p>

     <note><title>Ek Bilgi</title>
      <p>Sunucu içinde derlenmiş olarak <code>ServerLimit 20000</code>
        şeklinde bir zorlayıcı sınır vardır (<module>prefork</module> için
        200000’dir). Bu önlem, yazım hatalarının istenmeyen sonuçlara yol
        açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak
        için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip
        sunucuyu yeniden derlemeniz gerekir.</p>
    </note>
</usage>
<seealso><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden
    Başlatma</a></seealso>
</directivesynopsis>

<directivesynopsis>
<name>StartServers</name>
<description>Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin
  sayısını belirler.</description>
<syntax>StartServers <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>prefork</module><module>mpmt_os2</module>
</modulelist>

<usage>
    <p><directive>StartServers</directive> yönergesi, sunucunun başlatılması
      sırasında oluşturulan çocuk süreçlerin sayısını belirler. Süreç sayısı
      normal olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını
      gerektirecek küçük bir sebep vardır.
      (<directive module="mpm_common">MinSpareThreads</directive>,
      <directive module="mpm_common">MaxSpareThreads</directive>,
      <directive module="prefork">MinSpareServers</directive>,
      <directive module="prefork">MaxSpareServers</directive> yönergelerine
      bakınız.)</p>

    <p>Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer
      <module>worker</module> ve <module>event</module> için <code>3</code>
      iken <module>prefork</module> için <code>5</code>,
      <module>mpmt_os2</module> için <code>2</code>'dir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>StartThreads</name>
<description>Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını
  belirler.</description>
<syntax>StartThreads <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>mpm_netware</module></modulelist>

<usage>
    <p><directive>StartThreads</directive> yönergesi, sunucunun başlatılması
      sırasında oluşturulan evrelerin sayısını belirler. Evre sayısı normal
      olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını
      gerektirecek küçük bir sebep vardır.
      (<directive module="mpm_common">MinSpareThreads</directive>,
      <directive module="mpm_common">MaxSpareThreads</directive>,
      <directive module="prefork">MinSpareServers</directive>,
      <directive module="prefork">MaxSpareServers</directive> yönergelerine
      bakınız.)</p>

    <p><module>mpm_netware</module> için <code>StartThreads 50</code>
      öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması
      sırasında oluşturulan evrelerin toplam sayısı <code>50</code>’dir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadLimit</name>
<description>Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını
    belirler.</description>
<syntax>ThreadLimit <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>mpm_winnt</module>
</modulelist>

<usage>
    <p>Bu yönerge, Apache httpd sürecinin ömrü boyunca <directive
      module="mpm_common">ThreadsPerChild</directive> yönergesine
      atanabilecek azami değeri belirler. Bu yönergeyi bir yeniden başlatma
      sırasında değiştirirseniz bu değişiklik yok sayılır fakat <directive
      module="mpm_common">ThreadsPerChild</directive> değişiklikleri dikkate
      alınır.</p>

    <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
      <directive>ThreadLimit</directive> değeri <directive
      module="mpm_common">ThreadsPerChild</directive> değerinden yüksek bir
      değere ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer
      <directive>ThreadLimit</directive> ve <directive
      module="mpm_common">ThreadsPerChild</directive> değerleri sistemin
      işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd
      başlayamayacağı gibi sistemi kararsız hale de getirebilir. Bu yönergeye
      Apache httpd'nin çalışması için öngörülmüş en büyük değerden daha
      yükseğini atamayınız.</p>

    <p><directive>ThreadLimit</directive> yönergesinin öntanımlı değeri
      <module>mpm_winnt</module> için <code>1920</code>, diğerleri için
      <code>64</code>’tür.</p>

    <note><title>Ek Bilgi</title>
      <p>Sunucu içinde derlenmiş olarak <code>ThreadLimit 20000</code>
        şeklinde bir zorlayıcı sınır vardır (<module>mpm_winnt</module> için
        15000, <module>event</module> için <code>ThreadLimit 100000</code>).
        Bu önlem, yazım hatalarının istenmeyen sonuçlara yol
        açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak
        için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip
        sunucuyu yeniden derlemeniz gerekir.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadsPerChild</name>
<description>Her çocuk süreç tarafından oluşturulan evrelerin sayısını
  belirler.</description>
<syntax>ThreadsPerChild <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>mpm_winnt</module>
</modulelist>

<usage>
    <p>Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını
      belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve
      bundan daha fazlasını asla oluşturmazlar. <module>mpm_winnt</module>
      gibi sadece bir çocuk sürecin bulunduğu bir MPM kullanıyorsanız, bu
      sayı Apache httpd'nin tüm yükünü kaldırabilecek kadar büyük olmalıdır.
      <module>worker</module> gibi çok çocuk süreçli bir MPM kullanıyorsanız,
      <em>toplam</em> evre sayısı Apache httpd'nin tüm yükünü kaldırabilecek
      kadar büyük olmalıdır.</p>

    <p><directive>ThreadsPerChild</directive> için öntanımlı değer
      <module>mpm_winnt</module> kullanıldığında <code>64</code> diğerleri
      için <code>25</code>’tir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadStackSize</name>
<description>İstemci bağlantılarını elde eden evreler tarafından kullanılan
  yığıtın bayt cinsinden uzunluğunu belirler.</description>
<syntax>ThreadStackSize <var>boyut</var></syntax>
<default>NetWare üzerinde 65536; diğer işletim sistemlerinde
  değişir.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module><module>worker</module>
<module>mpm_winnt</module><module>mpm_netware</module>
<module>mpmt_os2</module></modulelist>
<compatibility>Apache HTTP Sunucusu 2.1 ve sonrasında
    kullanılabilir.</compatibility>

<usage>
    <p><directive>ThreadStackSize</directive> yönergesi, istemci
      bağlantılarını elde eden evreler ve bu bağlantıları işlemekte yardımcı
      olan modül çağrıları tarafından kullanılan yığıtın bayt cinsinden
      uzunluğunu belirler. Çoğu durumda işletim sistemi yığıtı uygun bir
      boyuta ayarlar, fakat yine de ayarlanmasını gerektirecek bazı durumlar
      olabilir:</p>

    <ul>
      <li>HP-UX gibi görece küçük yığıt boyuna sahip platformlarda, Apache
        httpd, görece büyük yığıt alanı kullanan bazı üçüncü parti modüller
        yüzünden çökebilir. Bu modüller öntanımlı yığıt boyu daha büyük olan
        diğer platformlarda sorunsuz çalışabilir. Bu tür çökmeler
        <directive>ThreadStackSize</directive> yönergesine daha büyük yığıt
        boyu atanarak çözümlenir. Böyle bir ayarlamayı sadece üçüncü parti
        modülün üreticisi bunun gerekliliğini belirtmişse veya Apache httpd’nin
        evre yığıt boyutunun küçüklüğünden dolayı çöktüğü teşhis edildiği
        takdirde yapınız.</li>

      <li>Öntanımlı yığıt boyu Apache sunucusu için gerekenden belirgin
        şekilde büyük bazı platformalarda, eğer
        <directive>ThreadStackSize</directive> yönergesi ile bu boyuttan daha
        düşük bir değer atanmışsa çocuk süreç başına evre sayısının yüksek
        olduğu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece
        sunucunun öldüresiye denendiği dolayısıyla yığıt boyutlarının aşırı
        zorlandığı deneme ortamlarında yapılmalıdır. Gereken en küçük yığıt
        boyutu kullanılan modüle sıkı sıkıya bağlıdır, fakat Apache httpd
        yapılandırmasında yapılan bir değişiklik mevcut
        <directive>ThreadStackSize</directive> ayarını geçersiz hale
        getirebilir.</li>

      <li>Linux üzerinde, ilgili sistem çağrısı <em>en küçük</em> yığıt boyutu
        olarak bu değeri kullanacağından, bu yönerge sadece öntanımlı yığıt
        boyutunu arttırmak için kullanılabilir. <code>ulimit -s</code>  için
        (çoğunlukla büyükçe) soft sınır (sınırsızsa 8MB), öntanımlı yığıt
        boyutu olarak kullanılır.</li>
    </ul>

    <note>Çocuk süreç başına yüksek bir evre sayısı gerekmedikçe
      <directive>ThreadStackSize</directive> değerinin azaltılmaması önerilir.
      Bazı platformlarda (Linux dahil), 128000 ayarı zaten çok düşüktür ve daha
      da azaltmak bazı modüllerle çökmeye sebep olur.</note>
</usage>
</directivesynopsis>

</modulesynopsis>
