]> granicus.if.org Git - apache/blob - docs/manual/mod/worker.xml.tr
Update transforms
[apache] / docs / manual / mod / worker.xml.tr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 713242:1137744 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
11  Licensed to the Apache Software Foundation (ASF) under one or more
12  contributor license agreements.  See the NOTICE file distributed with
13  this work for additional information regarding copyright ownership.
14  The ASF licenses this file to You under the Apache License, Version 2.0
15  (the "License"); you may not use this file except in compliance with
16  the License.  You may obtain a copy of the License at
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
20  Unless required by applicable law or agreed to in writing, software
21  distributed under the License is distributed on an "AS IS" BASIS,
22  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  See the License for the specific language governing permissions and
24  limitations under the License.
25 -->
26
27 <modulesynopsis metafile="worker.xml.meta">
28 <name>worker</name>
29 <description>Çok evreli ve çok süreçli melez bir HTTP sunucusu oluşturan çok
30 süreçlilik modülü.</description>
31 <status>MPM</status>
32 <sourcefile>worker.c</sourcefile>
33 <identifier>mpm_worker_module</identifier>
34
35 <summary>
36     <p>Bu çok süreçlilik modülü (MPM) hem çok süreçli hem de çok evreli
37       olabilen melez bir sunucu oluşturur. İstekleri sunmak için evreleri
38       kullanması sebebiyle çok süreçli bir sunucudan daha az sistem kaynağı
39       harcayarak daha çok isteğe hizmet sunabilir. Bununla birlikte, herbiri
40       çok sayıda evreye sahip çok sayıda süreci canlı tutarak bir çok süreçli
41       sunucu kadar kararlı olur.</p>
42
43     <p>Bu MPM’i denetim altında tutmakta kullanılan en önemli yönergeler, her
44       çocuk süreç için konuşlandırılacak evre sayısını belirleyen <directive
45       module="mpm_common">ThreadsPerChild</directive> yönergesi ile devreye
46       sokulacak toplam evre sayısının azamisini belirleyen <directive
47       module="mpm_common">MaxClients</directive> yönergesidir.</p>
48 </summary>
49 <seealso><a href="../bind.html">Apache’nin kullandığı adres ve portların
50 ayarlanması</a></seealso>
51
52 <section id="how-it-works"><title>Nasıl çalışır?</title>
53     <p>Çocuk süreçleri devreye almaktan tek bir süreç (ana süreç) sorumludur.
54       Her çocuk süreç <directive module="mpm_common"
55       >ThreadsPerChild</directive> yönergesinde belirtilen sayıda evre
56       konuşlandırır. Bunlardan ayrı olarak, bir dinleyici evre bağlantıları
57       dinleyip gelenleri işlenmek üzere bu sunucu evrelerinden birine
58       aktarır.</p>
59
60     <p>Apache daima, gelen isteklere hizmet sunmaya hazır <dfn>yedek</dfn>
61       veya boştaki sunucu evrelerinden oluşan bir havuzu canlı tutmaya
62       çalışır. Bu suretle, istemcilere isteklerinin sunulması için yeni çocuk
63       süreçlerin çatallanmasını, dolayısıyla yeni evrelerin
64       konuşlandırılmasını beklemek gerekmez. Başlangıçta çalıştırılacak çocuk
65       süreçlerin sayısı <directive
66       module="mpm_common">StartServers</directive> yönergesinde belirtilir.
67       Apache, çalışma süresi boyunca <directive module="mpm_common"
68       >MinSpareThreads</directive> ve <directive module="mpm_common"
69       >MaxSpareThreads</directive> yönergeleri ile belirtilen sınırlar
70       dahilinde kalmak üzere gerektiğinde süreçleri öldürerek gerektiğinde
71       yenilerini devreye alarak tüm süreçlerdeki toplam evre sayısını sabit
72       tutmaya çalışır. Bu işlem kendiliğinden çok iyi yürüdüğünden bu
73       yönergelere öntanımlı değerlerinden farklı değerlerin atanması nadiren
74       gerekli olur. Aynı anda hizmet sunulabilecek istemcilerin sayısı (yani,
75       tüm süreçlerin toplam evre sayısı) <directive module="mpm_common"
76       >MaxClients</directive> yönergesi ile belirlenir. Etkin çocuk
77       süreçlerin sayısı ise <directive module="mpm_common"
78       >MaxClients</directive> yönergesindeki değerin <directive
79       module="mpm_common" >ThreadsPerChild</directive> yönergesindeki değere
80       bölünmesi ile elde edilir.</p>
81
82     <p>Bu iki yönerge aynı anda etkin olabilecek çocuk süreçlerin ve her
83       çocuk süreçteki sunucu evreleri sayısının üst sınırını belirler ve bu
84       sınır sadece ana sunucu tamamen durdurulup yeniden başlatılarak
85       değiştirilebilir. <directive module="mpm_common"
86       >ServerLimit</directive> yönergesinin değeri etkin çocuk süreç
87       sayısının üst sınırı olup <directive module="mpm_common"
88       >MaxClients</directive> yönergesindeki değerin <directive
89       module="mpm_common" >ThreadsPerChild</directive> yönergesindeki değere
90       bölünmesi ile elde değere eşit veya bundan küçük olması gerekir.
91       <directive module="mpm_common">ThreadLimit</directive> yönergesinin
92       değeri ise sunucu evreleri sayısının üst sınırını belirler ve <directive
93       module="mpm_common">ThreadsPerChild</directive> yönergesindeki değerden
94       büyük veya ona eşit olması gerekir.</p>
95
96     <p>Sonlandırma sırasında etkin çocuk süreçlere ek olarak mevcut istemci
97       bağlantılarını işleme sokmaya çalışan tek bir sunucu evresinden başka
98       fazladan bir çocuk süreç etkin kalabileceği gibi sonlandırılacak süreç
99       sayısının en fazla <directive module="mpm_common"
100       >MaxClients</directive> olması gerekirse de gerçekte sayı bundan küçük
101       olabilir.  Şöyle bir işlemle tek bir çocuk sürecin sonlandırılması
102       iptal edilerek bu gibi durumlara karşı önlem alınabilir:</p>
103
104     <ul>
105       <li><directive module="mpm_common"> MaxRequestsPerChild</directive>
106         yönergesinin değeri sıfır yapılır.</li>
107
108       <li><directive module="mpm_common">MaxSpareThreads</directive> ve
109         <directive module="mpm_common">MaxClients</directive> yönergelerinin
110         değerleri birbirine eşitlenir.</li>
111     </ul>
112
113     <p><module>worker</module> modülünün öntanımlı süreç-evre yapılandırması
114       genelde şöyledir:</p>
115
116     <example>
117       ServerLimit         16<br />
118       StartServers         2<br />
119       MaxClients         150<br />
120       MinSpareThreads     25<br />
121       MaxSpareThreads     75<br />
122       ThreadsPerChild     25
123     </example>
124
125     <p>Unix altında 80. portu dinleyebilmek için ana sürecin root tarafından
126       çalıştırılmış olması gerekirse de çocuk süreçler ve evreler Apache
127       tarafından daha az yetkili bir kullanıcının aidiyetinde
128       çalıştırılırlar. Apache’nin çocuk süreçlerinin kullanıcı ve gruplarını
129       ayarlamak için <directive module="mod_unixd">User</directive> ve
130       <directive module="mod_unixd">Group</directive> yönergeleri kullanılır.
131       Çocuk süreçlerin sunacakları içeriği okumaya yetkili olmaları gerekir,
132       fakat bu yetkinin mümkün olduğunca kısıtlı tutulmasına çalışılmalıdır.
133       Bundan başka, <program>suexec</program> kullanılmadığı takdirde, bu
134       yönergeler CGI betikleri tarafından miras alınacak yetkili kullanıcı
135       ve grubu da ayarlarlar.</p>
136
137     <p><directive module="mpm_common">MaxRequestsPerChild</directive>
138       yönergesi ana sunucunun eski süreçleri öldürüp yenilerini oluşturmayı
139       ne kadar sıklıkla yapacağını denetler.</p>
140 </section>
141
142 <directivesynopsis location="mpm_common"><name>AcceptMutex</name>
143 </directivesynopsis>
144 <directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
145 </directivesynopsis>
146 <directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
147 </directivesynopsis>
148 <directivesynopsis location="mod_unixd"><name>Group</name>
149 </directivesynopsis>
150 <directivesynopsis location="mpm_common"><name>PidFile</name>
151 </directivesynopsis>
152 <directivesynopsis location="mpm_common"><name>Listen</name>
153 </directivesynopsis>
154 <directivesynopsis location="mpm_common"><name>ListenBacklog</name>
155 </directivesynopsis>
156 <directivesynopsis location="mpm_common"><name>LockFile</name>
157 </directivesynopsis>
158 <directivesynopsis location="mpm_common"><name>MaxClients</name>
159 </directivesynopsis>
160 <directivesynopsis location="mpm_common"><name>MaxMemFree</name>
161 </directivesynopsis>
162 <directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
163 </directivesynopsis>
164 <directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
165 </directivesynopsis>
166 <directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
167 </directivesynopsis>
168 <directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
169 </directivesynopsis>
170 <directivesynopsis location="mpm_common"><name>ReceiveBufferSize</name>
171 </directivesynopsis>
172 <directivesynopsis location="mpm_common"><name>SendBufferSize</name>
173 </directivesynopsis>
174 <directivesynopsis location="mpm_common"><name>ServerLimit</name>
175 </directivesynopsis>
176 <directivesynopsis location="mpm_common"><name>StartServers</name>
177 </directivesynopsis>
178 <directivesynopsis location="mpm_common"><name>ThreadLimit</name>
179 </directivesynopsis>
180 <directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
181 </directivesynopsis>
182 <directivesynopsis location="mpm_common"><name>ThreadStackSize</name>
183 </directivesynopsis>
184 <directivesynopsis location="mod_unixd"><name>User</name>
185 </directivesynopsis>
186
187 </modulesynopsis>