跳转至

Memcached

Memcached 是一套分布式的高速缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Cloud Insight 监控 Memcached 缓存,查取请求等数据来可视化 Memcached 性能。


性能指标

Cloud Insight 采集 Memcache 以下性能指标:

指标 单位 具体含义
memcache.avg_item_size bytes item 平均大小
memcache.bytes_read_rate bytes/second 服务器从网络读取字节的速率
memcache.bytes_written_rate bytes/second 服务器向网络发送字节的速率
memcache.cas_badval_rate keys/second 在比较(原始)值与提供的值不匹配的情况下,CAS 请求更新失败的速率
memcache.cas_hits_rate hits/second CAS 请求的命中率
memcache.cas_misses_rate misses/second CAS 请求的未命中率
memcache.cmd_flush_rate commands/second flush_all 命令的请求速率
memcache.cmd_get_rate commands/second get 命令的请求速率
memcache.cmd_set_rate commands/second set 命令的请求速率
memcache.connection_structures 服务器分配的连接结构数
memcache.curr_connections connections 当前服务器打开的连接数
memcache.curr_items items 当前服务器存储的 item 数量
memcache.delete_hits_rate hits/second delete 命令删除项目的速率
memcache.delete_misses_rate misses/second delete 命令没有使项目被删除的速率
memcache.evictions_rate evictions/second 从缓存中删除有效 item 以释放内存给新 item 的速率
memcache.fill_percent percent 服务器用于存储 item 的内存占允许的最大值的的百分比
memcache.get_hit_percent percent 找到的请求的 key 的百分比
memcache.get_hits_rate hits/second 找到 key 的 get 请求的速率
memcache.get_misses_rate misses/second 没有找到 key 的 get 请求速率
memcache.items.age seconds LRU 中最老 item 的年龄
memcache.items.crawler_reclaimed_rate operations/second LRU Crawler 释放 item 的操作速率
memcache.items.direct_reclaims_rate operations/second 工作线程不得不直接拉 LRU 尾部以找到新 item 的内存的操作速率
memcache.items.evicted_nonzero_rate evictions/second 过期时间设置不为 0,但不得不从 LRU 中驱逐的未过期 ite
memcache.items.evicted_rate evictions/second 不得不从 LRU 中驱逐未过期 item 的速率
memcache.items.evicted_time seconds 自最后一次清除过期 item 起所经历的秒数
memcache.items.evicted_unfetched_rate evictions/second 每秒从 LRU 驱逐后从未被碰过的有效 item 的数量
memcache.items.expired_unfetched_rate evictions/second 每秒从 LRU 回收后从未被碰过的过期 item 的数量
memcache.items.lrutail_reflocked_rate items/second 每秒在 LRU 尾部发现被 refcount 锁住的 item 的数量
memcache.items.moves_to_cold_rate items/second item 从 HOT 或 WARN 转移到 COLD 的速率
memcache.items.moves_to_warm_rate items/second item 从 COLD 转移到 WARM 的速率
memcache.items.moves_within_lru_rate items/second 活跃 item 在 HOT 或 WARN 内碰撞的速率
memcache.items.number items 当前存储在此 slab class 中的 item 数量
memcache.items.number_cold items 当前存在 COLD LRU 中的 item 数量
memcache.items.number_hot items 当前存储在 HOT LRU 中的 item 数量
memcache.items.number_noexp items 当前存储在 NOEXP class 中的 item 数量
memcache.items.number_warm items 当前存储在 WARM LRU 中的 item 数量
memcache.items.outofmemory_rate errors/second 每秒底层 slab class 为新 item 分配空间的错误数
memcache.items.reclaimed_rate operations/second 每秒使用过期条目来存储新条目的操作数量
memcache.items.tailrepairs_rate operations/second 每秒 Memcache 自解决的 slab 引用泄漏问题的操作数量
memcache.limit_maxbytes bytes 服务器被允许用于存储的字节数
memcache.listen_disabled_num_rate events/second 服务器达到最大连接限制的速率
memcache.pointer_size bits Host 操作系统上的指针的默认大小 (通常是 32 或 64 )
memcache.rusage_system_rate fractions CPU 执行当前服务器进程花费的用户时间分数
memcache.rusage_user_rate fractions 当前服务器进程 CPU 执行内核代码花费的时间分数
memcache.slabs.active_slabs occurrences 分配的 slab class 的总数
memcache.slabs.cas_badval_rate keys/second CAS 命令由于 CAS ID 错误而无法修改值的速率
memcache.slabs.cas_hits_rate operations/second 当前 slab class 中 CAS 命令的修改速率
memcache.slabs.chunk_size bytes 当前 slab 每个 chunk 的大小
memcache.slabs.chunks_per_page buffers 每个 page 可以存放的 chunk 数目
memcache.slabs.cmd_set_rate commands/second 当前 slab class 中 set 命令请求存储数据的速率
memcache.slabs.decr_hits_rate operations/second 当前 slab class 中 decr 请求的命中率
memcache.slabs.delete_hits_rate operations/second 当前 slab class 中 delete 请求的命中率
memcache.slabs.free_chunks buffers 尚未分配给 item 或通过删除被回收的 chunk 数
memcache.slabs.free_chunks_end buffers 新分配但还没有被使用 chunk 数
memcache.slabs.get_hits_rate hits/second 当前 slab class 中 get 请求的命中率
memcache.slabs.incr_hits_rate operations/second 当前 slab class 中 incr 请求的命中率
memcache.slabs.mem_requested bytes 当前 slab 中被请求用来存储数据的内存空间字节数
memcache.slabs.total_chunks buffers 分配给当前 slab class 的 chunk 总数
memcache.slabs.total_malloced bytes 分配给当前 slab page 的内存总量
memcache.slabs.total_pages pages 分配给当前 slab class 的 page 总数
memcache.slabs.touch_hits_rate operations/second 当前 slab class 的 touch 命令命中率
memcache.slabs.used_chunks buffers 已经被分配给 item 的 chunk 的数量
memcache.slabs.used_chunks_rate buffers/second 已将 chunk 分配给 item 的速率
memcache.threads threads 当前 Memcached 服务器进程使用的线程数
memcache.total_connections_rate connections/second 服务器启动以来的连接速率
memcache.total_items items 服务器启动以来存储的 item 总数
memcache.uptime seconds 服务器已经运行的秒数

配置 Mencached 监控

编辑配置文件

编辑配置文件 conf.d/mcache.yaml,使 Cloud Insight Agent 可以与 Memcached 通信。

init_config:

instances:
  - url: localhost  # url used to connect to the memcached instance
    port: 11211 # If this line is not present, the port will default to 11211
    tags:
      # In order to be able to continue using the old 'instance:tag', include it below it single quotes
      # Any other tags desired can simply be a string value
      # If no tags are passed in, a tag of 'instance:(url)_(port)' will be added
      - 'instance:instance_tag'
      - tag_key:tag_value

重启 Agent

重启 Cloud Insight Agent,使配置生效。

您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功'。

Checks
======

[...]

mcache
------
  - instance #0 [OK]
  - Collected 8 metrics & 0 events

有关 Agent Info 信息的查看,请访问帮助中心,查看 Cloud Insight Agent 常用操作


默认标签

Cloud Insight 采集 Memcached 以下默认主机标签:

标签种类 标签含义
url 数据库实例地址(例如 "localhost:11211")

5分钟,开启你的跨云监控之旅 (`⌄´ )


常见问题