<?xml version='1.0' encoding='ISO-8859-1' ?>
<!-- English Revision: 1561569:1674195 (outdated) -->
<!-- French translation by Vincent Deffontaines, review by alain B -->
<!-- Updated by Lucien Gentis -->
<!--
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
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="./">Serveurs Virtuels</parentdocument>
<title>Limites des descripteurs de fichiers</title>
<summary>
<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
<directive type="section" module="core">VirtualHost</directive>,
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
<example>
ulimit -S -n 100<br />
exec httpd</code>
</example>
</li>
</ul>
<!-- the document misc/descriptors.xml does not exist yet in 2.1
<p>Veuillez noter que le document
<a href="/misc/descriptors.html">Descripteurs et Apache</a>
contient plus de d�tails concernant les probl�mes de descripteurs
de fichiers et comment les r�soudre en fonction de votre syst�me
d'exploitation.</p>
-->
</summary>
<section id="splitlogs"><title>�clatement des fichiers journaux</title>
<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
<directive module="mod_log_config"> LogFormat</directive> 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>
<highlight language="config">
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
CustomLog logs/multiple_vhost_log vhost
</highlight>
<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 <directive module="core">ServerName</directive>).
(Voir <module>mod_log_config</module> 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>
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>
<example>
split-logfile < /logs/multiple_vhost_log
</example>
<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
</section>
</manualpage>