MySQL 5.6 参考手册 / 第 16 章高可用性和可扩展性 / 16.2 将 MySQL 与 memcached 一起使用 / 16.2.4 获取 memcached 统计信息 /
16.2.4.1 memcached 一般统计
一般统计信息的输出提供了memcached 实例的性能和使用情况的概览。该命令返回的统计信息及其含义如下表所示。
以下术语用于定义每个统计值的值类型:
32u
: 32 位无符号整数64u
: 64 位无符号整数32u:32u
: 两个 32 位无符号整数,用冒号分隔String
: 字符串
统计 | 数据类型 | 描述 | 版本 |
---|---|---|---|
pid |
32u | memcached实例的进程 ID 。 | |
uptime |
32u | 此memcached实例的正常运行时间(以秒为单位) 。 | |
time |
32u | 当前时间(作为纪元)。 | |
version |
细绳 | 此实例的版本字符串。 | |
pointer_size |
细绳 | 此主机的指针大小以位(32 或 64)指定。 | |
rusage_user |
32u:32u | 此实例的总用户时间(秒:微秒)。 | |
rusage_system |
32u:32u | 此实例的总系统时间(秒:微秒)。 | |
curr_items |
32u | 此实例存储的当前项目数。 | |
total_items |
32u | 此实例生命周期内存储的项目总数。 | |
bytes |
64u | 此服务器用于存储项目的当前字节数。 | |
curr_connections |
32u | 当前打开的连接数。 | |
total_connections |
32u | 自服务器开始运行以来打开的连接总数。 | |
connection_structures |
32u | 服务器分配的连接结构数。 | |
cmd_get |
64u | 检索请求总数(get 操作)。 |
|
cmd_set |
64u | 存储请求总数(set 操作)。 |
|
get_hits |
64u | 已请求并发现存在的密钥数。 | |
get_misses |
64u | 已请求但未找到的项目数。 | |
delete_hits |
64u | 已删除并发现存在的密钥数。 | 1.3.x |
delete_misses |
64u | 已删除但未找到的项目数。 | 1.3.x |
incr_hits |
64u | 已递增并发现存在的密钥数。 | 1.3.x |
incr_misses |
64u | 已增加但未找到的项目数。 | 1.3.x |
decr_hits |
64u | 已减少并发现存在的密钥数。 | 1.3.x |
decr_misses |
64u | 已减少但未找到的项目数。 | 1.3.x |
cas_hits |
64u | 已比较和交换并发现存在的密钥数。 | 1.3.x |
cas_misses |
64u | 已比较和交换但未找到的项目数。 | 1.3.x |
cas_badvalue |
64u | 已比较和交换的键数,但比较(原始)值与提供的值不匹配。 | 1.3.x |
evictions |
64u | 从缓存中删除的有效项目数,以便为新项目释放内存。 | |
bytes_read |
64u | 此服务器从网络读取的总字节数。 | |
bytes_written |
64u | 此服务器发送到网络的字节总数。 | |
limit_maxbytes |
32u | 允许此服务器用于存储的字节数。 | |
threads |
32u | 请求的工作线程数。 | |
conn_yields |
64u | 连接的收益数(与-R
选项相关)。 |
1.4.0 |
此处给出的最有用的统计数据是缓存命中、未命中和逐出的次数。
大量get_misses
可能只是表明高速缓存仍在填充信息。随着时间的推移,与缓存的数量相比,该数量应该会减少get_hits
。但是,如果在长时间执行后与缓存命中相比有大量缓存未命中,则可能表明缓存大小太小,您需要增加总内存大小,或者增加memcached实例的数量以提高命中率。
来自缓存的大量信息evictions
,特别是与存储的项目数相比,表明您的缓存太小,无法容纳您经常希望缓存的信息量。不是将项目保留在缓存中,而是逐出项目以为新项目让路,从而保持缓存中项目的高周转率,从而降低缓存的效率。