本页面列出了 Memorystore for Valkey 可用的 Cloud Monitoring 指标,并介绍了每个指标所测量的内容。
Cloud Monitoring 指标
指标名称 | 说明 |
---|---|
memorystore.googleapis.com/instance/clients/average_connected_clients |
实例中所有节点的当前客户端连接数的平均值。 |
memorystore.googleapis.com/instance/clients/maximum_connected_clients |
实例中单个节点当前的客户端连接数上限。 |
memorystore.googleapis.com/instance/clients/maximum_connection_duration |
实例中单个节点的客户端连接时长上限。 |
memorystore.googleapis.com/instance/clients/total_connected_clients |
与实例建立的当前客户端连接数。 |
memorystore.googleapis.com/instance/stats/total_connections_received_count |
过去一分钟内创建的实例级客户端连接总数。 |
memorystore.googleapis.com/instance/stats/total_rejected_connections_count |
因 maxclients 限制而被拒绝的连接数。 |
memorystore.googleapis.com/instance/commandstats/total_usec_count |
每条命令的总用时。 |
memorystore.googleapis.com/instance/commandstats/total_calls_count |
一分钟内对此命令的调用总次数。 |
memorystore.googleapis.com/instance/cpu/average_utilization |
实例中所有节点的平均 CPU 利用率,介于 0.0 到 1.0 之间。 |
memorystore.googleapis.com/instance/cpu/maximum_utilization |
实例中单个节点的最大 CPU 利用率,介于 0.0 到 1.0 之间。 |
memorystore.googleapis.com/instance/stats/average_expired_keys |
实例中所有节点的主副本的键过期事件平均数。 |
memorystore.googleapis.com/instance/stats/maximum_expired_keys |
主副本实例中单个节点的密钥过期事件数量上限。 |
memorystore.googleapis.com/instance/stats/total_expired_keys_count |
实例中所有节点的主副本中发生的键过期事件的总数。 |
memorystore.googleapis.com/instance/stats/average_evicted_keys |
因实例中所有节点的主副本内存容量而被逐出的键的平均数。 |
memorystore.googleapis.com/instance/stats/maximum_evicted_keys |
因主副本的内存容量而导致实例中单个节点被逐出的键的数量上限。 |
memorystore.googleapis.com/instance/stats/total_evicted_keys_count |
因实例中所有节点的主副本内存容量而被逐出的键数。 |
memorystore.googleapis.com/instance/keyspace/total_keys |
实例中存储的键数。 |
memorystore.googleapis.com/instance/stats/average_keyspace_hits |
实例中所有节点成功查找键的平均次数。 |
memorystore.googleapis.com/instance/stats/maximum_keyspace_hits |
实例中单个节点成功查找键的次数上限。 |
memorystore.googleapis.com/instance/stats/total_keyspace_hits_count |
成功查找实例键的次数。 |
memorystore.googleapis.com/instance/stats/average_keyspace_misses |
实例中所有节点的键查找失败的平均次数。 |
memorystore.googleapis.com/instance/stats/maximum_keyspace_misses |
实例中单个节点的键查找失败次数上限。 |
memorystore.googleapis.com/instance/stats/total_keyspace_misses_count |
实例键查找失败的总次数。 |
memorystore.googleapis.com/instance/memory/average_utilization |
实例中所有节点的平均内存利用率。值介于 0.0 到 1.0 之间。 |
memorystore.googleapis.com/instance/memory/maximum_utilization |
实例中单个节点的最大内存利用率,介于 0.0 到 1.0 之间。 |
memorystore.googleapis.com/instance/memory/total_used_memory |
实例的总内存用量。 |
memorystore.googleapis.com/instance/memory/size |
实例的内存大小。 |
memorystore.googleapis.com/instance/replication/average_ack_lag |
实例中所有节点的副本的平均复制延迟时间(以秒为单位)。 复制延迟时间(以秒为单位)表示副本滞后于主副本的秒数。 |
memorystore.googleapis.com/instance/replication/maximum_ack_lag |
实例中单个副本的最大复制确认延迟时间(以秒为单位)。 复制确认延迟时间(以秒为单位)表示复制确认滞后于主副本的时间。 |
memorystore.googleapis.com/instance/replication/average_offset_diff |
实例中所有节点的平均复制确认偏移量差异(以字节为单位)。 复制确认偏移量差异是指副本与其主副本之间尚未复制的字节数。 |
memorystore.googleapis.com/instance/replication/maximum_offset_diff |
实例中单个节点的最大复制偏移差异(以字节为单位)。 复制偏移差异是指副本与其主副本之间尚未复制的字节数。 |
memorystore.googleapis.com/instance/stats/total_net_input_bytes_count |
实例端点接收的传入网络字节数。 |
memorystore.googleapis.com/instance/stats/total_net_output_bytes_count |
从实例端点发送的传出网络字节数。 |
持久性指标
本部分列出了持久性指标,并提供了持久性指标的示例用例。
RDB 持久化指标
指标名称 | 说明 |
---|---|
memorystore.googleapis.com/instance/persistence/load_count |
实例(AOF 或 RDB)中从转储文件加载的累计次数。 |
memorystore.googleapis.com/instance/persistence/rdb_saves_count |
此指标显示实例创建 RDB 快照(也称为保存)的累计次数。此指标包含 status_code 字段。如需检查快照是否失败,您可以过滤 status_code 字段,查看是否存在以下错误:3 - INTERNAL_ERROR |
memorystore.googleapis.com/instance/persistence/rdb_last_success_ages |
此指标显示的是实例中所有节点的分布快照的创建时间。理想情况下,您希望看到分布中的值的延迟时间短于(或等于)快照频率。 |
memorystore.googleapis.com/instance/persistence/rejected_writes_count |
因无法持久化而被拒绝的写入命令在实例中的累计计数。 |
AOF 持久化指标
指标名称 | 说明 |
---|---|
memorystore.googleapis.com/instance/persistence/aof_fsync_lags |
此指标显示了实例中所有节点的延迟时间(从数据写入到持久存储同步)分布情况。仅针对 appendfsync=everysec 的实例发出。理想情况下,您希望看到分布中的值的延迟时间短于(或等于)AOF 同步频率。 |
memorystore.googleapis.com/instance/persistence/aof_rewrite_count |
此指标显示实例中某个节点触发 AOF 重写的累计次数。此指标包含 status_code 字段。如需检查 AOF 重写是否失败,您可以过滤 status_code 字段,查看是否存在以下错误:3 - INTERNAL_ERROR |
持久性指标的示例用例
检查 AOF 写入操作是否会导致延迟和内存压力
假设您检测到实例的延迟时间或内存用量增加。在这种情况下,您可能需要检查额外用量是否与 AOF 持久性相关。
由于您知道 AOF 重写操作可能会触发瞬时负载高峰,因此可以检查 aof_rewrites_count
指标,该指标会显示实例生命周期内 AOF 重写的累计计数。假设此指标显示重写次数的增加与延迟时间的增加相对应。在这种情况下,您可以通过降低写入速率或增加分片数量来减少重写频率,从而解决此问题。
检查 RDB 保存操作是否会导致延迟和内存压力
假设您检测到实例的延迟时间或内存用量增加。在这种情况下,您可能需要检查额外用量是否与 RDB 持久性相关。
由于您知道 RDB 保存操作可能会触发瞬时负载高峰,因此可以检查 rdb_saves_count
指标,该指标会显示实例生命周期内 RDB 保存操作的累计计数。假设此指标显示 RDB 保存次数的增量与延迟时间增加相对应。在这种情况下,您可以缩短 RDB 快照间隔时间,以降低重写频率。您还可以扩容实例,以降低基准负载水平。
解读 Memorystore for Valkey 的指标
如上表所示,许多指标都属于以下三个类别:平均值、最大值和总和。
对于 Memorystore for Valkey,我们会提供同一指标的平均值和最大值变化,以便您同时使用这两者来确定该指标族的热点。
该指标的总计值是独立的,可提供与平均值和最大值的热点分析用途无关的单独数据洞见。
了解平均值和最大值指标
假设您要比较实例的 average_keyspace_hits
和 maximum_keyspace_hits
值。随着这两个指标之间的差值增大,差值越大,表示实例中的命中热点越多。理想情况下,您应将此值设置为介于 average_keyspace_hits
和 maximum_keyspace_hits
之间,因为这意味着命中数据会更均匀地分布在您的实例中。
此原则适用于具有同一指标的平均值和最大值变化的所有指标。
热点示例
如果您比较实例中所有分片的 average_keyspace_hits
和 maximum_keyspace_hits
,则比较这些值可指明热点出现的位置。例如,假设 6 个分片实例中的分片有以下命中数:
- 分片 1 - 2 次命中
- 分片 2 - 2 次命中
- 分片 3 - 2 次命中
- 分片 4 - 2 次命中
- 分片 5 - 2 次命中
- 分片 6-8 命中
在此示例中,average_keyspace_hits
返回值为 3,maximum_keyspace_hits
返回值为 8,表示分片 6 是热分片。