One other detail: we're on the latest 2.8.2 version.

—
Luke Seelenbinder
Stadia Maps | Founder & CEO
stadiamaps.com

> On Sep 2, 2023, at 15:56, Luke Seelenbinder 
> <[email protected]> wrote:
> 
> Hi List,
> 
> I wanted to ask about an unexpected behavior I'm observing with the bandwidth 
> limit filter. I'm not sure if it's a bug, a misconfiguration, or if I'm just 
> misunderstanding.
> 
> Config:
> 
> peers
>      <snip>
>      table bw-by-src          type ipv6 size 25k expire 1h store 
> bytes_out_rate(10s)
> 
> frontend
>       <snip>
>       # Bandwidth filters
>       # Limit to 50MB/10s
>       filter bwlim-out by-src        key src table pop_local/bw-by-src limit 
> 50m
>       # Limit other to 100MB/10s (temporarily higher limits)
>       filter bwlim-out other-by-src key src table pop_local/bw-by-src limit 
> 100m
>       http-request set-bandwidth-limit by-src                 if 
> is_first_thing
>       http-request set-bandwidth-limit other-by-src           if 
> is_other_thing
> 
> With this configuration, 99% of requests succeed, but approximately 1% of 
> requests, especially requests made in isolation hang forever. The average 
> payload in this config is between 50-100kB / request, but some requests would 
> be quite small (< 1kB) or quite large (> 500kB).
> 
> For example, a standard curl GET request returns the headers, but never the 
> body (at least not in the first few seconds). We have a mix of HTTP/1.1, H2, 
> and H3 front-end connections, with HTTP/1.1 on the backend.
> 
> Does the 10s period create a problem? (The goal with that is to allow 
> temporary bursts especially at initial connection with an average limit.) Do 
> I need to add min-size (reading the code doesn't seem to imply it would help)?
> 
> I may be misreading the docs, and it's just a bogus configuration. :)
> 
> Thanks in advance for any help or ideas you all have!
> 
> Best,
> Luke
> 
> —
> Luke Seelenbinder
> Stadia Maps | Founder & CEO
> stadiamaps.com
> 

Reply via email to