1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
<!-- English Revision: 1174747:1873230 (outdated) -->
<!-- =====================================================
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.
-->
<manualpage metafile="fd-limits.xml.meta">
<parentdocument href="./">Sanal Konaklar</parentdocument>
<title>Dosya Tanıtıcı Sınırları</title>
<summary>
<p>Çok büyük sayıda sanal konak kullanıyorsanız ve bunların her biri için
ayrı günlük kayıtları tutuyorsanız, Apache dosya tanıtıcılarını
tüketebilir. Apache tarafından, dahili olarak 10-20 dosya tanıtıcıya ek
olarak her hata günlüğü için bir ve her diğer günlük kaydı için bir dosya
tanıcı kullanılır. Unix işletim sisteminde dosya tanıtıcıların sayısı
süreç başına 64 taneyle sınırlıdır ve gerekirse donanıma bağlı olarak
arttırılabilir.</p>
<p>Apache gerektiğinde bu sınırı kendisi arttırmaya çalışırsa da bu her
zaman mümkün olmaz. Şöyle ki:</p>
<ol>
<li>Sisteminiz <code>setrlimit()</code> sistem çağrısını
sağlamıyordur.</li>
<li>Sisteminizde <code>setrlimit(RLIMIT_NOFILE)</code> çağrısı hiçbir işe
yaramıyordur (örneğin, Solaris 2.3).</li>
<li>Dosya tanıtıcılarının sayısı donanıma bağlı olarak daha fazla
arttırılamıyordur.</li>
<li>Sisteminiz dosya tanıtıcı sayısını başka sınırlara bağlı kılmıştır:
örneğin stdio akımları ile ilgili sınır, dosya tanıtıcı sayısının
256’nın altında ollmasını gerektiriyordur (Solaris 2).</li>
</ol>
<p>Böyle sorunlar karşısında yapabilecekleriniz:</p>
<ul><li>Ana günlük dosyaları hariç, <directive type="section"
module="core">VirtualHost</directive> bölümlerinde günlük dosyası
belirtmeyerek günlük dosyası sayısını düşürürsünüz. (Bunun nasıl
yapılacağını öğrenmek için <a href="#splitlogs">Günlük kayıtlarının
ayrıştırılması</a> bölümüne bakınız.)</li>
<li>Sisteminizde serbest dosya tanıtıcı sayısı 1-2 civarına düşerse
Apache’yi aşağıdaki gibi bir betikle yeniden çalıştırarak dosya
tanıtıcı sayısını arttırabilirsiniz:
<example>
<code>#!/bin/sh<br />
ulimit -S -n 100<br />
exec httpd</code>
</example>
</li>
</ul>
</summary>
<section id="splitlogs"><title>Günlük kayıtlarının ayrıştırılması</title>
<p>Günlük dosyalarını çok sayıda sanal konak için ortak olarak
kullanıyorsanız, sanal konaklar için istatistiksel çözümlemeler yapmak
amacıyla sırası geldiğinde bunları ayrıştırabilirsiniz. Bu işlem aşağıda
anlatıldığı gibi yapılabilir.</p>
<p>İlk iş olarak, sanal konak bilgilerini günlük girdilerine eklemeniz
gerekir. Bu işlem, <directive
module="mod_log_config">LogFormat</directive> yönergesi ve
<code>%v</code> biçem değişkeni ile yapılabilir. Günlük girdisi biçem
dizgesinin başına bunu ekleyiniz:</p>
<example>
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost<br />
CustomLog logs/multiple_vhost_log vhost
</example>
<p>Bu yapılandırma ile her günlük kaydının başında sanal konağın
<directive module="core">ServerName</directive> yönergesine belirtilen
ismi eklenir. (Günlük dosyalarınızın kişiselleştirilmesi ile ilgili daha
fazla bilgi için <a href="../mod/mod_log_config.html#formats">Günlük
Girdilerinin Kişiselleştirilmesi</a> konusuna bakınız.)</p>
<p>Günlük dosyanızdaki kayıtları bileşenlere göre gruplamak isterseniz
<code><a href="../programs/other.html">split-logfile</a></code>
programını kullanabilirsiniz. Bu programı Apache dağıtımının
<code>support</code> dizininde bulabilirsiniz.</p>
<p>Programı aşağıdaki gibi çalıştırın:</p>
<example>
split-logfile < /logs/multiple_vhost_log
</example>
<p>Bu programı sanal konaklar için tuttuğunuz günlük dosyasının ismini
argüman olarak belirterek çalıştırdığınızda o dosyadaki kayıtlardan her
sanal konak için ayrı bir günlük dosyası
(<code><em>konakadı</em>.log</code>) üretilir.</p>
</section>
</manualpage>
|