You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计跳过API Server缓存的GET/LIST请求及缓存命中请求数?

Kubernetes API Server 缓存服务请求统计指标

核心内置指标说明

Kubernetes API Server 确实提供了专门的内置指标,用于统计由 watch cache 提供服务的读请求,关键指标包括:

  • apiserver_request_served_from_cache:直接按资源类型、请求类型等维度统计从缓存响应的请求数量,是判断缓存命中的核心指标。
  • apiserver_request_total:统计所有 API 请求的总数,结合上述缓存命中指标,可计算缓存命中率,进而定位未使用缓存的请求。

维度筛选与客户端定位

这些指标带有多维度标签,可精准定位未使用缓存的客户端:

  • resource:指定目标资源类型(如 pods、deployments)
  • verb:筛选 LIST/GET 类型的读请求
  • client:客户端标识,直接对应发起请求的客户端实例
  • code:HTTP 响应状态码,可限定统计成功的请求

实用查询示例(PromQL)

如果使用 Prometheus 监控,可通过以下查询快速分析:

  1. 按资源和客户端统计缓存命中的 LIST/GET 请求数:
    sum(apiserver_request_served_from_cache{verb=~"LIST|GET"}) by (resource, client)
    
  2. 计算各客户端的缓存命中率:
    sum(apiserver_request_served_from_cache{verb=~"LIST|GET"}) by (resource, client) 
    / 
    sum(apiserver_request_total{verb=~"LIST|GET"}) by (resource, client)
    

命中率趋近于0的客户端,即为未指定 revision=0、未使用缓存的目标。

注意事项

只有当请求明确携带 resourceVersion=0(对应你提到的 revision 编号为0)参数时,API Server 才会从 watch cache 取数并计入缓存命中指标;未携带该参数的读请求会直接访问 etcd,不会被缓存指标统计。

内容的提问来源于stack exchange,提问作者beer_coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:24:18