Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

排查负载均衡器缓存问题

贡献者 netapp-lhalbert

了解负载均衡器缓存可能存在的问题以及如何解决这些问题。

确定请求是否是缓存命中

  • X-Cache 标头是在缓存服务处理的请求的响应中设置的。可能的代码:

    • HIT:该对象由缓存提供

    • PARTIAL-HIT:存储桶/键在缓存中有记录,但并非所有请求的范围都能够从缓存中得到服务

    • STALE:存储桶/键在缓存中有一个记录,但自上次从缓存中提供该对象后,该对象已被更新。

    • MISS:该对象不在缓存中

  • 这 `nginx-gw/endpoint-access.log.gz`请求的记录包括“unix:/run/cache-svc/cache-svc.sock”,用于缓存处理的请求。

  • 这 `cache-svc/cache-svc.log`报告诸如“请求 320390:成功完成(缓存命中)”或“请求 320375:成功完成(缓存未命中)”之类的消息。通过搜索具有相同“Request <number>”字符串的其他记录来查找请求的路径。

缓存命中率低

  • 当添加新的工作负载或工作负载访问的工作集发生变化时,可能会出现较低的缓存命中率。在这些情况下,命中率预计会随着时间的推移而增加。

  • 如果多个工作负载正在使用缓存,请考虑添加流量分类策略来隔离由缓存服务的工作负载部分。每个流量分类策略都有缓存命中率指标。如果某些工作负载的缓存命中率不高,请考虑将这些工作负载移动到未启用缓存的其他端点。

  • 评估缓存驱逐率。如果缓存太小而无法容纳工作集,它将经历高驱逐率并可能导致命中率降低。

  • FPVR 下可能提供用于提高某些工作负载命中率的选项。

性能低下

  • 评估缓存命中率。低缓存命中率会导致整体性能低下。

  • 评估缓存驱逐率。在驱逐期间,一些存储资源用于从磁盘中删除现有对象。如果驱逐过程跟不上新对象的访问,系统可能会达到硬水印阈值并开始绕过缓存。

  • 使用“网络接口接收使用情况”和“网络接口传输使用情况”诊断检查网络限制。