| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?> |
| <!-- English Revision: 1772336:1805221 (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> |
| </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> |