envoyproxy/envoy

Http Local Rate Limit throttled the traffic without exceeding the expected qps

Open

#29,857 opened on Sep 28, 2023

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/http_filterarea/ratelimitbughelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Description: I am using http local rate limit in a single pod in aws-us-west-2. Below is my settings at the listener:

{
              "name": "envoy.filters.http.local_ratelimit",
              "typed_config": {
               "@type": "type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit",
               "stat_prefix": "http_local_ratelimit",
               "token_bucket": {
                "max_tokens": 15000,
                "tokens_per_fill": 15000,
                "fill_interval": "1s"
               },
               "filter_enabled": {
                "default_value": {
                 "numerator": 100
                },
                "runtime_key": "http_local_ratelimit.filter_enabled.default_value.numerator"
               },
               "filter_enforced": {
                "default_value": {
                 "numerator": 100
                },
                "runtime_key": "http_local_ratelimit.filter_enforced.default_value.numerator"
               }
              }
             }

I expect that the http local rate limit wouldn't be triggered before reaching 15000 qps. However, the requests started to be throttled when the qps reached 3000. I am using Envoy 1.25.9

Did I have any misconfigurations?

Contributor guide