我正在使用 Datadog 和 NewRelic 来尝试追踪似乎在随机时间发生的奇怪行为。最近我注意到我在 NewRelic 中的应用程序的 REDIS 延迟出现了巨大的峰值。我将 Datadog 添加到 Redis 服务器并看到这些命令峰值/秒从约 0.5-2k 到超过 40-60k!随之而来的是带宽和负载的峰值,但只有非常重要的 CPU 变化。
当这些发生时,GoogleAnalytics (GA) 相比之下实际上表现出相当缓慢的一天。事实上,今天的整体应用程序负载比下图显示的那一天高出大约 2-3 倍,但今天的 REDIS 性能非常完美,没有任何延迟/命令峰值。
会不会是机器人/爬虫碰到了导致大量数据被一次插入的陈旧缓存?我的应用程序严重依赖外部 API,它偶尔也会导致响应时间激增,但为什么缓慢的 API 调用会导致 redis 调用速度变慢或 redis 命令出现大量峰值?