Apache mod_ratelimit bug?

Egy apache webszerveren (2.4.25) szeretném korlátozni a letöltési sávszélességet, amihez az apche ratelimit modulját használnám.

<IfModule mod_ratelimit.c>
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 40
    SetEnv rate-initial-burst 40
</IfModule>

Ha a 40-es érték helyett 39-et írok, akkor a sebességkorlátozás egészen jól működik, bár akkor sem 39KB/s lesz a mért sebesség, hanem úgy 80KB/s körüli. De 39 alatt kb 2-szeres szorzóval működik a modul.

Azonban, ha 40-et vagy annál nagyobb értéket írok, onnantól kezdve teljes sávszélességgel engedi kiszolgálni a kérelmeket.

Valakinek van ötlete, hogy hogyan tudnék kb 100-200KB/s korlátot beállítani?

Használja valaki a ratelimit modult, van még valami trükkje?

Vagy tud valaki alternatív korlátozást a webes kérelmek lassítására?

Hozzászólások

"If the value specified for rate-limit causes integer overflow, the rate-limited will be disabled." a sebességed annyira nagy, hogy a rate-limit értékkel való osztása (spec esetben) valami matematikai túlcsordulást eredményez. Emiatt kikapcsolódik. Ha 1Gb-ed van, akkor 5-10Mb/sec beállítása nem okoz gondot.

mod_dialup fixen 56k/s sebességet ad.

Ez még érdekes lehet, ha a sebességet csak azért akarod csökkenteni, hogy mindenkinek jusson. Akkor inkább QOS: http://mod-qos.sourceforge.net/dos.html 

Ezt az overflow feltételt én is olvastam a modul oldalán, de nem tudtam elképzelni, hogy 39 esetén nincs, 40 esetén meg van, ráadásul teljesen külön környezetekben is, iszonyú gyenge virtuális gépen, lokális hálón is és erős éles vason, gigabites hálón is.

Közben találtam egy bw apache modult, ami legalább valósan korlátozza a sávszélességet.

Lényegében az történt, hogy egy 100 megabites hálóról 1 gigabites hálóra került át a kiszolgálás, és bár a környezet is gyorsult, a terhelés mégis látványosan nőtt. Ennek a visszafogására keresek valamilyen korlátozó modult.

Ez a QOS nagyon tetszik, köszönöm, meg fogom nézni, eddig nagyon szimpatikus.