Memorystore for Redis 提供实时服务器端指标,用于监控客户端应用的吞吐量、CPU 利用率和内存用量。 不过,对于复杂的分布式系统,仅服务器端数据可能无法解释应用为何会遇到高延迟。
客户端指标通过测量命令(从应用启动命令到应用处理响应)来提供对完整请求-响应周期的透明度。通过捕获这些数据点,您可以准确确定延迟是源自应用逻辑、网络路径还是 Redis 服务器。
客户端指标的工作原理
客户端指标由直接在应用的 Redis 客户端库内运行的 OpenTelemetry 插桩捕获。
如需详细了解 OpenTelemetry,请参阅 OpenTelemetry 网站。此外,如需详细了解与 OpenTelemetry 兼容的 Redis 客户端库,请参阅启用客户端指标。
当客户端应用运行命令时,OpenTelemetry 插桩会在请求-响应周期中的以下数据点记录时间戳:
池签出:应用在客户端的连接池中等待可用 连接的时间 (
redis_client_blocking_latency)。往返时间 (RTT):命令的网络传输时间和服务器运行时间 (
redis_client_rtt)。应用处理:应用在数据到达后解析或 反序列化数据所花费的时间 (
redis_application_blocking_latency)。
插桩还会跟踪以下指标:
重试:客户端的指数 退避循环触发的命令重试次数 (
redis_retry_count)。连接错误:连接失败和超时的次数 (
redis_connectivity_error_count)。
价格
在 Cloud Monitoring 中使用自定义客户端指标以及在 Cloud Trace 中使用分布式跟踪记录需遵循以下 价格标准:
- 指标:使用 Monitoring API 将客户端指标导出到 Monitoring 时,需按 Monitoring 提取的字节数支付基于用量的价格。
- 跟踪记录:使用 Trace API 将分布式跟踪记录导出到 Trace 时,需按 Trace 提取的跟踪记录 span 数支付价格。
在 Metrics Explorer 中查看客户端指标或在 Trace Explorer 中查看分布式跟踪记录是免费的。
如需了解详情和价格示例,请参阅 Google Cloud 可观测性价格。
后续步骤
- 使用客户端指标排查高延迟问题。
- 了解可用于 Memorystore for Redis 的 客户端指标。