Grafana查询Loki仪表板时出现"too many outstanding requests"错误求助
解决Grafana+Loki刷新仪表板时"too many outstanding requests"错误的参数调整方案
Grafana 端配置调整
- 调整数据代理并发数:修改Grafana的
dataproxy.max_concurrent_requests参数,默认值偏低,建议设为60-100。如果是Kubernetes部署,直接通过环境变量GF_DATAPROXY_MAX_CONCURRENT_REQUESTS注入到Grafana Pod中。 - 延长数据代理超时:设置
dataproxy.timeout = 30s,对应环境变量GF_DATAPROXY_TIMEOUT,避免请求因超时堆积。 - 优化仪表板查询:单个仪表板如果包含大量并行执行的Loki查询,会触发该错误。可以合并相似查询,或者在面板的「Query options」里设置
Min interval或Query delay来分散请求压力。
Loki 端配置调整
- 调整租户未完成请求上限:修改
query_frontend.max_outstanding_per_tenant,默认值通常为200,可提升至500-1000,对应环境变量LOKI_QUERY_FRONTEND_MAX_OUTSTANDING_PER_TENANT。 - 调整查询调度器请求限制:设置
query_scheduler.max_outstanding_requests_per_tenant,数值建议和上面的参数匹配,环境变量为LOKI_QUERY_SCHEDULER_MAX_OUTSTANDING_REQUESTS_PER_TENANT。 - 限制单查询并行度:调整
limits_config.max_query_parallelism,根据集群CPU资源设为10-20,避免单个查询占用过多资源导致请求排队,对应环境变量LOKI_LIMITS_CONFIG_MAX_QUERY_PARALLELISM。
EKS 集群层面优化
- 提升Pod资源配额:Grafana和Loki(尤其是query-frontend组件)的Pod如果CPU/内存不足,会导致请求处理缓慢堆积。给Grafana Pod设置
resources.requests.cpu=1000m、resources.limits.cpu=2000m,Loki query-frontend组件适当调高资源限额。 - 检查负载均衡连接限制:如果用了AWS ALB,可切换为NLB以提升连接处理能力;或者调整kube-proxy的配置,优化集群内连接转发效率。
额外排查建议
- 查看Loki query-frontend的Pod日志,确认是否是后端存储(如S3)响应慢导致请求堆积。
- 检查Grafana的Loki数据源配置,确保「Timeout」值设置足够长,避免提前终止请求。
内容的提问来源于stack exchange,提问作者Shine Kumar K P
相关产品推荐
相关产品推荐

