Memcached stats 命令


Memcached是一款高性能的分布式内存缓存系统,在进行监控和优化Memcached性能时,stats命令是一个非常有用的工具。stats命令可以查询Memcached状态信息,包括内存使用情况、连接请求、命中率等,以帮助开发者分析和优化应用程序。

stats命令有三种不同的用法,分别是stats、stats items和stats slabs。

  • stats: 返回Memcached的全局统计信息,包括缓存命中率、使用内存大小、当前连接数、请求总数等。
  • stats items: 返回Memcached中存储的所有缓存项的详细状态信息,包括其键值、过期时间、存储时间、访问次数等。
  • stats slabs: 返回每个slab class的统计信息,可以通过这个命令查看当前每个slab的内存使用情况、命中率等。

下面是一些可用的stats命令的详细说明:

  1. stats

stats命令返回Memcached服务器全局状态信息,包括连接数、存储项数、网络流量、缓存命中率、内存使用情况等。

stats

返回的结果包含以下字段:

  • pid: Memcached进程ID。
  • uptime: 从服务器启动到现在的时间(以秒为单位)。
  • time: 服务器当前的UNIX时间戳。
  • version: Memcached版本号。
  • curr_connections: 当前连接数。
  • total_connections: 总计连接数。
  • cmd_get: get命令请求次数。
  • cmd_set: set命令请求次数。
  • conn_yields: 由于连接请求过多而被驳回的连接次数。
  • bytes: 使用内存字节数。
  • curr_items: 当前存储项数。
  • evictions: 缓存淘汰次数。
  • get_hits: get命令请求中缓存命中次数。
  • get_misses: get命令请求中缓存未命中次数。
  • limit_maxbytes: 可用于缓存的最大内存数量。
  • rusage_user: 服务器在用户模式下的CPU时间。
  • rusage_system: 服务器在核心模式下的CPU时间。
  • threads: 后台线程数。
  • conn_structures: 分配的连接结构数。
  1. stats items

stats items命令返回所有缓存项目的状态信息,包括每个项目的键、标记、大小、存储时间、过期时间、访问计数等。

stats items

返回的结果包含以下字段:

  • STAT items:#:number:key:keyname:
  • STAT items:#:number:age:seconds_since_expiration:
  • STAT items:#:number:evicted:evicted_time:
  • STAT items:#:number:evicted_nonzero:evicted_time:
  • STAT items:#:number:evicted_time:max_walltime:
  • STAT items:#:number:outofmemory:evicted_time:
  • STAT items:#:number:tailrepairs:evicted_time:
  • STAT items:#:number:get_hits:number_of_times_read_from_cache:
  • STAT items:#:number:incr_hits:number_of_times_incremented_from_cache:
  • STAT items:#:number:decr_hits:number_of_times decremented_from_cache:
  • STAT items:#:number:cas_hits:CAS_was_fulfilled_from_cache:
  • STAT items:#:number:bytes:storage_size:
  • STAT items:#:number:number:number_of_items_within_this_slab_class:

这些信息可以帮助开发者确定哪些缓存项目占用了内存,哪些缓存项目最近被访问,以及缓存替换策略的效率如何。

  1. stats slabs

stats slabs命令返回每个slab class的内存使用情况、缓存命中率、存储项数量等。

stats slabs

返回的结果包含以下字段:

  • STAT slab:#:chunk_size:chunk_size_bytes
  • STAT slab:#:chunks_per_page:#
  • STAT slab:#:total_pages:#
  • STAT slab:#:total_chunks:#
  • STAT slab:#:used_chunks:#
  • STAT slab:#:free_chunks:#
  • STAT slab:#:free_chunks_end:#
  • STAT slab:#:mem_requested:#
  • STAT slab:#:get_hits:#
  • STAT slab:#:cmd_set:#
  • STAT slab:#:delete_hits:#
  • STAT slab:#:incr_hits:#
  • STAT slab:#:decr_hits:#
  • STAT slab:#:cas_hits:#
  • STAT slab:#:cas_badval:#
  • STAT slab:#:touch_hits:#
  • STAT slab:#:used_chunks_per_page:#
  • STAT slab:#:total_items:#
  • STAT slab:#:mem_limit:#
  • STAT slab:#:mem_min:#
  • STAT slab:#:mem_max:#
  • STAT slab:#:umask:##

使用stats slabs命令可以帮助开发者了解哪些slab classes占用了内存,哪些类别的缓存命中率较低等。这些信息有助于优化Memcached缓存和调整缓存替换策略。

综上所述,stats命令提供了对Memcached服务器运行状态的深入分析和监测,有助于开发者优化和改进Memcached缓存性能。