| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?> |
| <!-- English Revision: 1137744 --> |
| <!-- ===================================================== |
| Translated by: Nilgün Belma Bugüner <nilgun belgeler.org> |
| Reviewed by: Orhan Berent <berent belgeler.org> |
| ========================================================== --> |
| |
| <!-- |
| 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="prefork.xml.meta"> |
| |
| <name>prefork</name> |
| <description>Evresiz ön çatallamalı HTTP sunucusu oluşturur</description> |
| <status>MPM</status> |
| <sourcefile>prefork.c</sourcefile> |
| <identifier>mpm_prefork_module</identifier> |
| |
| <summary> |
| <p>Bu çok süreçlilik modülü (MPM) evresiz ve |
| çocuk süreçlerin önceden çatallandığı bir HTTP sunucusu oluşturur. Her |
| çocuk süreç gelen bir isteğe yanıt verirken ebeveyn süreç çocuk süreç |
| havuzunu yönetir. Evresiz kütüphanelerle uyumluluk için evrelemeden |
| kaçınma ihtiyacında olan siteler için uygundur. Ayrıca istekleri |
| birbirlerinden yalıtmak için en iyi MPM’dir, dolayısıyla herhangi bir |
| istekle ilgili bir sorun diğerlerini etkilemez.</p> |
| |
| <p>Bu MPM kendi kendine her duruma çok iyi uyum sağladığından |
| yapılandırma yönergeleri ile yapılandırılmaya nadiren ihtiyaç gösterir. |
| Yönergelerin en önemlisi <directive module="mpm_common" |
| >MaxRequestWorkers</directive> olup, değeri aynı anda almayı umduğunuz |
| istek sayısını işleyebilecek kadar büyük, fiziksel belleğin tüm |
| süreçlerin ihtiyaçlarını karşılamasına yetecek kadar da küçük olması |
| gerekir.</p> |
| </summary> |
| |
| <seealso><a href="../bind.html">Apache HTTP Sunucusunun kullandığı adres ve |
| portların ayarlanması</a></seealso> |
| |
| <section id="how-it-works"><title>Nasıl çalışır?</title> |
| <p>Bağlantıları dinleyip gerektiğinde onlara hizmet sunan çocuk süreçleri |
| devreye almak tek bir denetim sürecinin sorumluluğundadır. Apache httpd |
| daima, gelen isteklere hizmet vermeye hazır bekleyen en fazla sayıda |
| sunucu sürecini <dfn>yedekte tutmaya</dfn> veya boşta bekletmeye |
| çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk |
| süreçlerin çatallanmasını beklemek gerekmez.</p> |
| |
| <p>Ana sürecin istekleri sunacak çocuk süreçleri oluşturma işlemini nasıl |
| gerçekleştireceği <directive module="mpm_common" |
| >StartServers</directive>, <directive module="prefork" |
| >MinSpareServers</directive>, <directive module="prefork" |
| >MaxSpareServers</directive> ve <directive module="mpm_common" |
| >MaxRequestWorkers</directive> yönergeleri ile düzenlenir. Apache httpd |
| kendiliğinden her duruma çok iyi uyum sağladığından, genelde, çoğu |
| sitenin bu yönergelerin öntanımlı değerlerini değiştirmesi gerekmez. |
| Aynı anda 256’dan fazla isteğe hizmet sunacak sitelerin <directive |
| module="mpm_common">MaxRequestWorkers</directive> değerini arttırmaları |
| gerekebilir. Ancak, fiziksel belleği yeterli olmayan sitelerin de |
| sunucunun belleği diske takaslamasını önlemek için bu değeri |
| azaltmaları gerekebilir. Süreç oluşturmanın ayarlanması ile ilgili daha |
| fazla bilgi edinmek için <a href="../misc/perf-tuning.html">başarım |
| arttırma ipuçları</a> belgesine bakınız.</p> |
| |
| <p>Unix altında 80. portu dinleyebilmek için ana sürecin |
| <code>root</code> tarafından çalıştırılmış olması gerekirse de çocuk |
| süreçler 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 <directive module="mod_unixd" |
| >User</directive> ve <directive module="mod_unixd">Group</directive> |
| 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.</p> |
| |
| <p><directive module="mpm_common">MaxConnectionsPerChild</directive> |
| 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ı <directive module="core">Mutex</directive> 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> |
| </section> |
| |
| <directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>EnableExceptionHook</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>PidFile</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>Listen</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>ListenBacklog</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>MaxRequestWorkers</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>MaxMemFree</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>MaxConnectionsPerChild</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>ScoreBoardFile</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>ReceiveBufferSize</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>SendBufferSize</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>ServerLimit</name> |
| </directivesynopsis> |
| <directivesynopsis location="mpm_common"><name>StartServers</name> |
| </directivesynopsis> |
| <directivesynopsis location="mod_unixd"><name>User</name> |
| </directivesynopsis> |
| <directivesynopsis location="mod_unixd"><name>Group</name> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MaxSpareServers</name> |
| <description>Boştaki çocuk süreçlerin azami sayısı</description> |
| <syntax>MaxSpareServers <var>sayı</var></syntax> |
| <default>MaxSpareServers 10</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p><directive>MaxSpareServers</directive> yönergesi <em>boştaki</em> |
| çocuk sunucu süreçlerinin azami sayısını belirler. Boştaki süreç, o an |
| bir isteğe hizmet sunmayan süreçtir. Eğer |
| <directive>MaxSpareServers</directive> sayıda süreçten daha fazla boşta |
| süreç varsa ana süreç bu fazlalıkları öldürecektir.</p> |
| |
| <p>Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli |
| olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü |
| bir fikirdir. Eğer bu değeri <directive module="prefork" |
| >MinSpareServers</directive> değerine eşit veya daha küçük bir değere |
| ayarlarsanız, Apache HTTP Sunucusu bu değeri kendiliğinden <directive |
| >MinSpareServers</directive><code> + 1</code> olarak |
| değiştirecektir.</p> |
| </usage> |
| <seealso><directive module="prefork">MinSpareServers</directive></seealso> |
| <seealso><directive module="mpm_common">StartServers</directive></seealso> |
| <seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MinSpareServers</name> |
| <description>Boştaki çocuk süreçlerin asgari sayısı</description> |
| <syntax>MinSpareServers <var>sayı</var></syntax> |
| <default>MinSpareServers 5</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p><directive>MinSpareServers</directive> yönergesi <em>boştaki</em> |
| çocuk sunucu süreçlerinin asgari sayısını belirler. Boştaki süreç, o an |
| bir isteğe hizmet sunmayan süreçtir. Eğer |
| <directive>MinSpareServers</directive> sayıda süreçten daha az boşta |
| süreç varsa ana süreç sayıyı tamamlamak için yeni çocuk süreçler |
| oluşturacaktır: Bir tane oluşturur, 1 saniye bekler, sonra 2 tane |
| oluşturur, 1 saniye bekler, sonra 4 tane oluşturur ve saniyede 32 çocuk |
| süreç oluşturuluncaya kadar böyle üstel olarak artar. Artış |
| <directive>MinSpareServers</directive> ile belirlenen sayıda |
| duracaktır.</p> |
| |
| <p>Bu parametrenin ayarlanması sadece çok meşgul siteler için gerekli |
| olabilir. Bu parametreye çok büyük bir değerin atanması oldukça kötü |
| bir fikirdir.</p> |
| </usage> |
| <seealso><directive module="prefork">MaxSpareServers</directive></seealso> |
| <seealso><directive module="mpm_common">StartServers</directive></seealso> |
| <seealso><directive module="mpm_common">MinSpareThreads</directive></seealso> |
| </directivesynopsis> |
| |
| </modulesynopsis> |
| |