worker.xml.tr revision 0fd698d8db8a8243e30dceabe622b3ffc2d78c61
842ae4bd224140319ae7feec1872b93dfd491143fielding<?xml version="1.0"?>
842ae4bd224140319ae7feec1872b93dfd491143fielding<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
842ae4bd224140319ae7feec1872b93dfd491143fielding<?xml-stylesheet type="text/xsl" href="/style/manual.tr.xsl"?>
842ae4bd224140319ae7feec1872b93dfd491143fielding<!-- English Revision: 713242 -->
842ae4bd224140319ae7feec1872b93dfd491143fielding<!-- =====================================================
842ae4bd224140319ae7feec1872b93dfd491143fielding Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Reviewed by: Orhan Berent <berent belgeler.org>
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd========================================================== -->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<!--
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd Licensed to the Apache Software Foundation (ASF) under one or more
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd contributor license agreements. See the NOTICE file distributed with
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd this work for additional information regarding copyright ownership.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd The ASF licenses this file to You under the Apache License, Version 2.0
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding (the "License"); you may not use this file except in compliance with
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding the License. You may obtain a copy of the License at
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding http://www.apache.org/licenses/LICENSE-2.0
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Unless required by applicable law or agreed to in writing, software
b6055b7832a0e4d0818416252fff5925aaebae4brbb distributed under the License is distributed on an "AS IS" BASIS,
78b046ee9f769d9609ea1157177d5467e4700c89covener WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2d71630471d1c23f0137309e3c3957c633ecbfd6rbb See the License for the specific language governing permissions and
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding limitations under the License.
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding-->
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<modulesynopsis metafile="worker.xml.meta">
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<name>worker</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<description>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok
0f081398cf0eef8cc7c66a535d450110a92dc8aefieldingsüreçlilik modülü.</description>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<status>MPM</status>
cc06c8e7a7e785b46083984731b701d0c5447c72covener<sourcefile>worker.c</sourcefile>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<identifier>mpm_worker_module</identifier>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<summary>
2d84861186d70e5396751ba308bb90c8a7db47acnd <p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli
128148f61cfed630b051d26e3e2018f774b21595covener olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri
128148f61cfed630b051d26e3e2018f774b21595covener kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı
128148f61cfed630b051d26e3e2018f774b21595covener harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri
128148f61cfed630b051d26e3e2018f774b21595covener çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli
2d84861186d70e5396751ba308bb90c8a7db47acnd sunucu kadar kararlı olur.</p>
78b046ee9f769d9609ea1157177d5467e4700c89covener
78b046ee9f769d9609ea1157177d5467e4700c89covener <p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her
78b046ee9f769d9609ea1157177d5467e4700c89covener çocuk süreç için konuşlandırılacak evre sayısını belirleyen <directive
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding module="mpm_common">ThreadsPerChild</directive> yönergesi ile devreye
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm sokulacak toplam evre sayısının azamisini belirleyen <directive
128148f61cfed630b051d26e3e2018f774b21595covener module="mpm_common">MaxClients</directive> yönergesidir.</p>
111436a32ba1254291e4883292fb116d15fe8f64covener</summary>
78b046ee9f769d9609ea1157177d5467e4700c89covener<seealso><a href="/bind.html">Apache’nin kullandığı adres ve portların
e991c6fc032c59eb6cb751d9d382e933a53a2866niqayarlanması</a></seealso>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<section id="how-it-works"><title>Nasıl çalışır?</title>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur.
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Her çocuk süreç <directive module="mpm_common"
4f9a74ad7e44b0464f7cf56525a205d788becacbtrawick >ThreadsPerChild</directive> yönergesinde belirtilen sayıda evre
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine
b6d2c204c150843e48f6787c1090ae75b718896ecovener aktarır.</p>
b6d2c204c150843e48f6787c1090ae75b718896ecovener
7076b40ea4800c8f91c4c0948f9c98c1bacbe96crpluem <p>Apache daima, gelen isteklere hizmet sunmaya hazır <dfn>yedek</dfn>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya
06a537b50a7a5d4f8543231d2b6067b8f6805dd3aaron çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding süreçlerin çatallanmasını, dolayısıyla yeni evrelerin
b6d2c204c150843e48f6787c1090ae75b718896ecovener konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk
b6d2c204c150843e48f6787c1090ae75b718896ecovener süreçlerin sayısı <directive
7076b40ea4800c8f91c4c0948f9c98c1bacbe96crpluem module="mpm_common">StartServers</directive> yönergesinde belirtilir.
7076b40ea4800c8f91c4c0948f9c98c1bacbe96crpluem Apache, çalışma süresi boyunca <directive module="mpm_common"
b6d2c204c150843e48f6787c1090ae75b718896ecovener >MinSpareThreads</directive> ve <directive module="mpm_common"
b6d2c204c150843e48f6787c1090ae75b718896ecovener >MaxSpareThreads</directive> yönergeleri ile belirtilen sınırlar
4e0565f42481dff87062cbfc55a2ecaa36b92e83sf dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde
34243b1c811496ed65f33a321a61612b8b8627ebjailletc yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit
b6d2c204c150843e48f6787c1090ae75b718896ecovener tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu
b158fcda2fabac5e85b75e51cadc918d3eb4a218covener yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren
b94e9fbfc855aa89c2a7340c5ca9da5d1cb9f7e3covener gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani,
b6d2c204c150843e48f6787c1090ae75b718896ecovener tüm süreçlerin toplam evre sayısı) <directive module="mpm_common"
b6d2c204c150843e48f6787c1090ae75b718896ecovener >MaxClients</directive> yönergesi ile belirlenir. Etkin çocuk
b6d2c204c150843e48f6787c1090ae75b718896ecovener süreçlerin sayısı ise <directive module="mpm_common"
b6d2c204c150843e48f6787c1090ae75b718896ecovener >MaxClients</directive> yönergesindeki değerin <directive
63de18ba5e922ffaab500317d7d1d0ad6b27b7e2covener module="mpm_common" >ThreadsPerChild</directive> yönergesindeki değere
b6d2c204c150843e48f6787c1090ae75b718896ecovener bölünmesi ile elde edilir.</p>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding <p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu
2d84861186d70e5396751ba308bb90c8a7db47acnd sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak
2d84861186d70e5396751ba308bb90c8a7db47acnd değiştirilebilir. <directive module="mpm_common"
2d84861186d70e5396751ba308bb90c8a7db47acnd >ServerLimit</directive> yönergesinin değeri etkin çocuk süreç
2d84861186d70e5396751ba308bb90c8a7db47acnd sayısının üst sınırı olup <directive module="mpm_common"
128148f61cfed630b051d26e3e2018f774b21595covener >MaxClients</directive> yönergesindeki değerin <directive
2d84861186d70e5396751ba308bb90c8a7db47acnd module="mpm_common" >ThreadsPerChild</directive> yönergesindeki değere
2d84861186d70e5396751ba308bb90c8a7db47acnd bölünmesi ile elde değere eşit veya bundan küçük olması gerekir.
111436a32ba1254291e4883292fb116d15fe8f64covener <directive module="mpm_common">ThreadLimit</directive> yönergesinin
111436a32ba1254291e4883292fb116d15fe8f64covener değeri ise sunucu evreleri sayısının üst sınırını belirler ve <directive
111436a32ba1254291e4883292fb116d15fe8f64covener module="mpm_common">ThreadsPerChild</directive> yönergesindeki değerden
111436a32ba1254291e4883292fb116d15fe8f64covener büyük veya ona eşit olması gerekir.</p>
111436a32ba1254291e4883292fb116d15fe8f64covener
111436a32ba1254291e4883292fb116d15fe8f64covener <p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci
111436a32ba1254291e4883292fb116d15fe8f64covener bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka
78b046ee9f769d9609ea1157177d5467e4700c89covener fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç
78b046ee9f769d9609ea1157177d5467e4700c89covener sayısının en fazla <directive module="mpm_common"
78b046ee9f769d9609ea1157177d5467e4700c89covener >MaxClients</directive> olması gerekirse de gerçekte sayı bundan küçük
78b046ee9f769d9609ea1157177d5467e4700c89covener olabilir. Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması
78b046ee9f769d9609ea1157177d5467e4700c89covener iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p>
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim
78b046ee9f769d9609ea1157177d5467e4700c89covener <ul>
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim <li><directive module="mpm_common"> MaxRequestsPerChild</directive>
78b046ee9f769d9609ea1157177d5467e4700c89covener yönergesinin değeri sıfır yapılır.</li>
78b046ee9f769d9609ea1157177d5467e4700c89covener
78b046ee9f769d9609ea1157177d5467e4700c89covener <li><directive module="mpm_common">MaxSpareThreads</directive> ve
78b046ee9f769d9609ea1157177d5467e4700c89covener <directive module="mpm_common">MaxClients</directive> yönergelerinin
78b046ee9f769d9609ea1157177d5467e4700c89covener değerleri birbirine eşitlenir.</li>
78b046ee9f769d9609ea1157177d5467e4700c89covener </ul>
78b046ee9f769d9609ea1157177d5467e4700c89covener
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim <p><module>worker</module> modülünün öntanımlı süreç-evre yapılandırması
78b046ee9f769d9609ea1157177d5467e4700c89covener genelde şöyledir:</p>
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim
78b046ee9f769d9609ea1157177d5467e4700c89covener <example>
78b046ee9f769d9609ea1157177d5467e4700c89covener ServerLimit 16<br />
78b046ee9f769d9609ea1157177d5467e4700c89covener StartServers 2<br />
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim MaxClients 150<br />
78b046ee9f769d9609ea1157177d5467e4700c89covener MinSpareThreads 25<br />
78b046ee9f769d9609ea1157177d5467e4700c89covener MaxSpareThreads 75<br />
2d84861186d70e5396751ba308bb90c8a7db47acnd ThreadsPerChild 25
78b046ee9f769d9609ea1157177d5467e4700c89covener </example>
78b046ee9f769d9609ea1157177d5467e4700c89covener
78b046ee9f769d9609ea1157177d5467e4700c89covener <p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding tarafından daha az yetkili bir kullanıcının aidiyetinde
80370e62044bea458bcd0545c59cb864ed117b04niq çalıştırılırlar. Apache’nin çocuk süreçlerinin kullanıcı ve gruplarını
e991c6fc032c59eb6cb751d9d382e933a53a2866niq ayarlamak için <directive module="mod_unixd">User</directive> ve
e991c6fc032c59eb6cb751d9d382e933a53a2866niq <directive module="mod_unixd">Group</directive> yönergeleri kullanılır.
b6d2c204c150843e48f6787c1090ae75b718896ecovener Çocuk süreçlerin sunacakları içeriği okumaya yetkili olmaları gerekir,
4f9a74ad7e44b0464f7cf56525a205d788becacbtrawick fakat bu yetkinin mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır.
2d84861186d70e5396751ba308bb90c8a7db47acnd Bundan başka, <program>suexec</program> kullanılmadığı takdirde, bu
2d84861186d70e5396751ba308bb90c8a7db47acnd yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı
111436a32ba1254291e4883292fb116d15fe8f64covener ve grubu da ayarlarlar.</p>
111436a32ba1254291e4883292fb116d15fe8f64covener
5bfaaf573bacb45c1cf290ce85ecc676587e8a64jim <p><directive module="mpm_common">MaxRequestsPerChild</directive>
78b046ee9f769d9609ea1157177d5467e4700c89covener yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı
78b046ee9f769d9609ea1157177d5467e4700c89covener ne kadar sıklıkla yapacağını denetler.</p>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</section>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
06a537b50a7a5d4f8543231d2b6067b8f6805dd3aaron</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
128148f61cfed630b051d26e3e2018f774b21595covener<directivesynopsis location="mod_unixd"><name>Group</name>
111436a32ba1254291e4883292fb116d15fe8f64covener</directivesynopsis>
78b046ee9f769d9609ea1157177d5467e4700c89covener<directivesynopsis location="mpm_common"><name>PidFile</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>Listen</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
06a537b50a7a5d4f8543231d2b6067b8f6805dd3aaron<directivesynopsis location="mpm_common"><name>LockFile</name>
06a537b50a7a5d4f8543231d2b6067b8f6805dd3aaron</directivesynopsis>
06a537b50a7a5d4f8543231d2b6067b8f6805dd3aaron<directivesynopsis location="mpm_common"><name>MaxClients</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
2d84861186d70e5396751ba308bb90c8a7db47acnd</directivesynopsis>
128148f61cfed630b051d26e3e2018f774b21595covener<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
111436a32ba1254291e4883292fb116d15fe8f64covener</directivesynopsis>
111436a32ba1254291e4883292fb116d15fe8f64covener<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
78b046ee9f769d9609ea1157177d5467e4700c89covener</directivesynopsis>
78b046ee9f769d9609ea1157177d5467e4700c89covener<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding</directivesynopsis>
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<directivesynopsis location="mpm_common"><name>ReceiveBufferSize</name>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq</directivesynopsis>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq</directivesynopsis>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq<directivesynopsis location="mpm_common"><name>ServerLimit</name>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq</directivesynopsis>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq<directivesynopsis location="mpm_common"><name>StartServers</name>
1eda27e7224742a68c18c09a7f5ae233363465a4niq</directivesynopsis>
e991c6fc032c59eb6cb751d9d382e933a53a2866niq<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
5695f522f64e4b842be9dc438666fd91a89cc10bgryzor</directivesynopsis>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq</directivesynopsis>
80370e62044bea458bcd0545c59cb864ed117b04niq<directivesynopsis location="mpm_common"><name>ThreadStackSize</name>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq</directivesynopsis>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq<directivesynopsis location="mod_unixd"><name>User</name>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq</directivesynopsis>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq
a1efede5943e76f1fcdf10494de41704c9ba70f1niq</modulesynopsis>
a1efede5943e76f1fcdf10494de41704c9ba70f1niq