OVH Cloud OVH Cloud

Limitation de traffic avec Apache2

2 réponses
Avatar
grosnours
Hello,

J'aimerais limiter le traffic généré par un (au final plusieurs) vhosts
Apache2.
Google m'indique qu'il existe mod_throttle, mais il semble ne
fonctionner que pour Apache 1.

Y aurait-il d'autres modules permettant de limiter le traffic généré au
cours d'une durée déterminée (typiquement: X GB sur Y jours) ?


Merci d'avance,

Fabrice

2 réponses

Avatar
Rakotomandimby Mihamina
hors-charte.
fu2 approprié

--
Rakotomandimby Mihamina Andrianifaharana
Tel : +33 2 38 76 43 65
http://www.rktmb.org/Members/mihamina
Avatar
Glennie Vignarajah
grosnours wrote:

Hello,
Salut,

J'aimerais limiter le traffic généré par un (au final plusieurs) vhosts
Apache2.
Google m'indique qu'il existe mod_throttle, mais il semble ne
fonctionner que pour Apache 1.
J'avais posé la question, il y a quelque jours.

Je n'avais pas trouvé de réponse.
Finalement, on utilise une solution avec un petit bout de PHP.
Voici le script :

<?php
$handle = fopen ("./toto.gz", "rb");
while (!feof ($handle)) {
$TMP = fgets($handle, 14096);
$FILE=$FILE.$TMP ;
}
$SPEED000 ;
$TIME_BASE=2 ;
$CUR_POS=0 ;
$doneúlse ;
$SIZE=strlen($FILE) ;
header ("Content-Type: application/x-gz") ;
header ("Content-Disposition: attachment; filename=toto.gz") ;
header ("Content-Length: " . $SIZE) ;
while (! $done) {
$START=time() ;
echo (substr($FILE, $CUR_POS, $SPEED)) ;
$END=time() ;
$ELAPSED=$TIME_BASE+$END-$START ;
if ($ELAPSED > 0) sleep ($ELAPSED) ;
$CUR_POS=$CUR_POS + $SPEED ;
if ($CUR_POS > $SIZE) $done=true ;
}
echo (substr($FILE, $CUR_POS, $SPEED)) ;
?>

Ce bout ne limite n'est pas dynamique. La bande passante attribuée
n'augemente pas si le un des clients termine. Dans le cas, il faut utiliser
les SHMs.
A+
--
Glennie
"Personne ne survit au fait d'être estimé au-dessus de sa valeur."