Langues
mod_bandwidth : Configuration
Directives de configuration globales :
- BandWidthDataDir
Syntaxe : BandWidthDataDir <directory>
Défaut : "/tmp/apachebw"
Contexte : configuration serveur
Défini la racine du répertoire utilisé par mod_bandwidth pour stocker les données internes temporaires. N'oubliez pas de créer les sous-répertoires nécessaires : < BandWidthDataDir>/master et < BandWidthDataDir>/link
- BandWidthModule
Syntaxe : BandWidthModule <On|Off>
Défaut : Off
Contexte : configuration serveur
Active ou désactive complètement le module. Par défaut, le module est désactivé et peut donc être intégré au serveur sans risque.
Notez que si une limite est définie à l'intérieure d'un bloque "VirtualHost", vous _devez_ aussi mettre la directive "BandWidthModule On" dans ce bloque.
Si vous définissez des limites dans des bloques "Directory" (à l'extérieur de tous bloques "VirtualHost"), vous n'avez besoin que de mettre une seule fois la directive "BandWidthModule On" dans la configuration du serveur, à l'extérieur de tous bloques "Directory" et "VirtualHost".
- BandWidthPulse
Syntaxe : BandWidthPulse <microseconds>
Défaut :
Contexte : configuration serveur
Change l'algorithme utilisé pour calculer la bande passante et transmettre les données. L'ancien mode, sans valeur "BandWidthPulse" de définie, était utilisé lorsque la bande passante était extrêmement faible et ne devrait plus être utilisé.
La valeur de "BandWidthPulse" représente le délai entre l'envoi de données, en microsecondes. Plus cette valeur est petite et plus le calcule de la bande passante sera précis mais plus cela utilisera de ressources et donc, risque d'avoir un effet négatif. Il n'est pas recommandé d'utiliser une valeur inférieure à 1/5 de seconde. Essayez avec "BandWidthPulse 200000" et ajustez la valeur si nécéssaire.
- BandWidth
Syntaxe : BandWidth <domain|ip|all> <rate>
Défaut : aucun
Contexte : par répertoire, .htaccess
Limite la bande passante des fichiers se trouvant dans le répertoire courant et ses sous-répertoires pour toutes les connexions (<all>) ou uniquement celles provenant d'une adresse IP ou d'un domaine.
L'adresse IP peut être spécifiée sous la forme réseau/masque. (Par exemple 192.168.0.0/21)
La valeur <rate> est en Bytes/seconde. Un <rate> de "0" signifie qu'il n'y a pas de limitation de bande passante.
La directive "BandWidth" peut être utilisée plusieurs fois pour un même répertoire afin de définir des limites différentes pour des adresses/domaines différant. L'ordre dans lequel sont définies les limites est important : Le module s'arrête à la première limite qui correspond à l'adresse/domaine du client.
Exemple :
<Directory /home/www>
BandWidth ecp.fr 0
BandWidth 138.195 0
BandWidth all 1024
</Directory>
Cela va limiter la bande passante pour le répertoire /home/www et tous ses sous-répertoires à 1024Bytes/sec, à l'exception des connexions provenant de ".ecp.fr" et "138.195...." qui ne sont pas limitées.
- LargeFileLimit
Syntaxe : LargeFileLimit <filesize> <rate>
Défaut : aucun
Contexte : par répertoire, .htaccess
Défini une limite <rate> (en bytes/sec) à utiliser lors du transfère de fichiers ayant une taille plus grande que <filesize> en KBytes.
Plusieurs "LargeFileLimit" peuvent être définies pour différentes tailles de fichiers.
Un <rate> de "0" signifie qu'il n'y a pas de limitation de bande passante.
Un <rate> de "-1" annule toutes limites de bande passante pour ce type de fichier, y compris celles définies avec la directive "BandWidth". Cela peut être utilisé pour donner une priorité à tous les fichiers de petites tailles pendant que les fichiers de plus grandes tailles sont soumis à une limite.
Exemple :
LargeFileLimit 200 3072
LargeFileLimit 1024 2048
Les fichiers de moins de 200Kbytes ne sont pas limités. Les fichiers faisant de 200Kbytes à 1023Kbytes sont limités à 3072Bytes/sec et les fichiers d'une taille de 1024Kbytes ou plus sont limités à 2048Bytes/sec.
- MaxConnection
Syntaxe : MaxConnection <connections>
Défaut : 0 (sans limite)
Contexte : par répertoire, .htaccess
Limite le nombre de connexions simultanées. Si la limite est atteinte, les nouvelles connexions seront rejetées.
Une valeur de 0 signifie qu'il n'y a pas de limite de connexions.
- MinBandWidth
Syntaxe : MinBandWidth <domain|ip|all> <rate>
Défaut : all 256
Contexte : par répertoire, .htaccess
Défini la bande passante minimum à utiliser. Cela remplace aussi bien les limites définies par "BandWidth", "LargeFileLimit" que celles calculées en fonction du nombre de connexions.
Le premier paramètre est utilisé de la même manière que celui de "BandWidth".
<rate> est en Bytes/seconde.
Un <rate> de "0" signifie qu'il faut utiliser la valeur minimale qui est de 256Bytes/sec.
Un <rate> de "-1" signifie que la bande passante minimum est la même que celle définie par "BandWidth" et "LargeFileLimit". En pratique, cela signifie que la bande passante ne sera pas limitée en fonction du nombre de connexions mais sera fixe.
Exemple :
Si BandWidth est de "3072" (3KBytes/sec) et MinBandWidth de "1024" (1KBytes/sec) cela signifie :
- S'il y a une connexion, les fichiers seront transférés à 3072 Bytes/sec.
- S'il y a deux connexions, les fichiers seront transférés à 1536 Bytes/sec pour chaque connexion.
- S'il y a trois ou plus connexions, les fichiers seront transférés à 1024 Bytes/sec pour chaque connexion. (Bande passante minimum de 1024 Bytes/sec).
Si MinBandWidth est de "-1" cela signifie :
- S'il y a une connexion, les fichiers seront transférés à 3072 Bytes/sec.
- S'il y a deux connexions, les fichiers seront transférés à 3072 Bytes/sec pour chaque connexion. Le bande passante attribuée à chaque connexion ne dépend pas du nombre de connexions mais uniquement de la valeur configurée.
Note : Si "BandWidth" et "LargeFileLimit" s'applique tous deux, la valeur la plus petite est utilisée. (Mais jamais plus bas que la valeur définie par "MinBandWidth")
Si une limite est définie pour un serveur virtuel et qu'une autre limite est appliquée à un répertoire se trouvant dans ce serveur virtuel, c'est la limite sur le répertoire qui est appliquée.
Si une limite est définie en dehors de tous bloques "Directory" ou "VirtualHost", elle sera utilisée comme valeur par défaut pour tous les serveurs virtuelles. (Ie. Chaque serveur virtuel sera soumis à cette limite, _indépendamment_ les uns des autres).