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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Limites des descripteurs de fichiers - Serveur Apache HTTP</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page" class="no-sidebar"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.1</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.1</a> > <a href="./">Serveurs Virtuels</a></div><div id="page-content"><div id="preamble"><h1>Limites des descripteurs de fichiers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<p>Quand de nombreux serveurs virtuels sont créés, Apache peut
dépasser les limites en descripteurs de fichiers ('file descriptors',
également appelés <cite>gestionnaires de fichiers</cite>) si chacun
des serveurs virtuels utilise ses propres fichiers journaux. Le
nombre total de descripteurs de fichiers utilisés par Apache est
d'un par fichier journal, un pour chacune des autres directives
de fichiers journaux, plus un nombre constant compris entre 10 et 20
pour son fonctionnement interne. Les systèmes d'exploitation Unix
limitent le nombre de descripteurs de fichiers utilisables par
processus ; une valeur courante pour cette limite est de 64, et
cette valeur peut le plus souvent être augmentée.</p>
<p>Apache tente d'accroître cette valeur limite si nécessaire, mais
sans y parvenir dans les cas suivants :</p>
<ol>
<li>Le système d'exploitation ne permet pas l'utilisation d'appels
systèmes <code>setrlimit()</code>.</li>
<li>L'appel <code>setrlimit(RLIMIT_NOFILE)</code> ne fonctionne pas
sur votre système d'exploitation (c'est le cas sous Solaris 2.3).</li>
<li>Le nombre de descripteurs de fichiers nécessaires à Apache
dépasse la limite physique du matériel.</li>
<li>Le système impose d'autres limites sur l'utilisation des
descripteurs de fichiers, comme par exemple une limite sur les
flux stdio, utilisables uniquement sur les descripteurs de
fichiers inférieurs à 256. (sous Solaris 2).</li>
</ol>
<p>En cas de problème, Vous pouvez :</p>
<ul>
<li>Réduire le nombre de fichiers journaux, en ne spécifiant
aucun fichier journal dans les sections
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>,
en donc en envoyant les informations aux fichiers journaux du
serveur principal (Voir <a href="#splitlogs">Éclatement des
fichiers journaux</a> ci-dessous pour plus d'informations sur
cette possibilité).</li>
<li>
Dans les cas 1 ou 2 (évoqués ci-dessus), augmentez la limite sur
les descripteurs de fichiers avant le démarrage d'Apache, au
moyen d'un script comme
<div class="example"><p><code>
<code>#!/bin/sh<br />
ulimit -S -n 100<br />
exec httpd</code>
</code></p></div>
</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="splitlogs" id="splitlogs">Éclatement des fichiers journaux</a></h2>
<p>Lorsque vous choisissez d'enregistrer les informations émanant de
plusieurs serveurs virtuels dans un même fichier journal, vous voudrez
ensuite pouvoir scinder ces informations à des fins de statistiques, par
exemple, sur les différents serveurs virtuels. Il est possible de procéder
de la manière suivante :</p>
<p>Tout d'abord, vous devez ajouter le nom du serveur virtuel à chaque
entrée du journal. Ceci se paramètre au moyen de la directive
<code class="directive"><a href="../mod/mod_log_config.html# logformat"> LogFormat</a></code> et de la
variable <code>%v</code>. Ajoutez cette variable au début de la chaîne
de définition du format de journalisations :</p>
<div class="example"><p><code>
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost<br />
CustomLog logs/multiple_vhost_log vhost
</code></p></div>
<p>Cette configuration va provoquer la création d'un fichier de
journalisation au format standard (CLF : 'Common Log Format'), mais dont
chaque ligne débutera par le nom canonique du serveur virtuel (spécifié
par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>).
(Voir <code class="directive"><a href="../mod/mod_log_config.html#formats de journalisation personnalisés">Formats de journalisation
personnalisés</a></code> pour d'autres informations sur la
personnalisation des fichiers journaux.)</p>
<p>Au moment de séparer les informations du fichier journal en un fichier
par serveur virtuel, le programme <code>
<a href="../programs/other.html">split-logfile</a></code> peut être
utilisé. Ce programme peut être trouvé dans le répertoire
<code>support</code> de la distribution d'Apache.</p>
<p>Exécutez ce programme au moyen de la commande :</p>
<div class="example"><p><code>
split-logfile < /logs/multiple_vhost_log
</code></p></div>
<p>Une fois exécuté avec le nom du fichier contenant tous les journaux,
ce programme va générer un fichier pour chacun des serveurs virtuels
qui apparaît dans le fichier d'entrée. Chaque fichier en sortie est
nommé <code>nomduserveur.log</code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div id="footer">
<p class="apache">Copyright 1995-2005 The Apache Software Foundation or its licensors, as applicable.<br />Authorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
</body></html>
|