Memcached简介(二)
一,操作命令:
(1)stats命令:查询服务器的运行状态和其他内部命令
pid :服务器进程id
uptime :服务器运行时间,单位秒
time: 服务器当前的UNIX时间
version: 服务器的版本号
libevent: libevent的版本
pointer_size : 服务器操作系统位数
----------------分析CPU占用是否过高---------------------
rusage_user:该进程累计的用户时间
rusage_system: 该进程累计的系统时间
----------------分析连接数是否过高----------------------
curr_connections : 当前连接数
total_connections : 服务器启动后的总连接数
- ----------------------------------------------------------
connection_structures : 服务器分配的连接结构数量
reserved_fds: 内部使用的misc fds 数量
---------------分析命中率-----------------------------------
cmd_get : 获取请求数量
get_hits : 获取成功的总次数
get_misses : 获取失败的总次数
----------------------------------------------------------------
cmd_set : 存储请求数量
cmd_flush: flush请求数量
cmd_touch : touch 请求数量
delete_misses
delete_hits
incr_misses
incr_hits
decr_misses
decr_hits
cas_misses
cas_hits
cas_badval
touch_hits
touch_misses
auth_cmds :认证次数
auth_errors : 认证失败次数
------------------分析字节数流量--------------------------
bytes : 已用的缓存空间
bytes_read: 总共获取的数据量
bytes_written:总写入数据量
limit_maxbytes : 总允许写入的数据量
accepting_conns : 允许的总连接数
listen_disabled_num:监听失败的次数
threads:需要的工作线程数
hash_bytes:当前使用的hashtable容量大小
hash_is_expanding:指定hash table是否自动增长
malloc_fails : malloc内存分配失败次数
-----------------------分析对象LRU频率-----------------------------------
curr_items:当前缓存item数量
total_items:从服务启动后,总的存储缓存item数量
evictions :通过删除item释放内存的次数
(2)隐含的几种关系
缓存命中率 = get_hits / cmd_get * 100%
get_misses的数字 + get_hits = cmd_get
(3)stats sizes 命令:输出所有的Item的大小和个数,注意:会锁定服务,暂停处理请求。
(4)flush_all 命令:使内存中所有的item失效。加入参数则表示在N秒后失效。这个操作并不会真的释放内存空间,而是标志所有的item为失效。
(5)version 版本
(6)stats settings 查看设置
maxbytes 最大的字节数限制
maxcouns 允许的最大连接数
tcpport TCP端口
udpport UDP端口
verbosity: 日志级别 0 = none , 1 = som , 2 = lots
oldest 最老对象过期时间
evictions: on/off , 是否禁用LRU
domain_socket : socket的domain
umask : 创建Socket时的umask
growth_factor: 增长因子
chunk_size: key+value+flags大小
num_threads: 线程数,通过-t设置,默认是4
stat_key_prefix: stats分隔符
detail_enabled: yes/no ,显示stats细节信息
reqs_per_event: 最大的IO吞吐量
cas_enabled: yes/no , 是否启用CAS, -C禁用
tcp_backlog: TCP 监控日志
auth_enabled_sasl: yes/no 是否启用SASL验证
(7)stats item数据项统计
number:该slab中对象数,不包含过期对象
age: LRU队列中最老对象的过期时间
evicted: LRU释放对象数
evicted_nonzero: 设置了非0时间的LRU释放对象数
evicted_time: 最后一次LRU秒数,监控频率
outofmemory: 不能存储对象次数,使用-M会报错
tailrepairs: 修复slabs次数
reclaimed:使用过期对象空间存储对象次数
(8)stats slabs 区块统计
chunk_size chunk大小, byte
chunks_per_page 每个page的chunk数量
total_pages page数量
total_chunks chunk数量*page数量
get_hits get命中数
cmd_set set数
delete_hits : delete 命中数
incr_hits : incr命中数
decr_hits : decr命中数
cas_hits : cas命中数
cas_badval : cas数据类型错误数
used_chunks : 已被分配的chunk数
free_chunks : 剩余的chunk数
free_chunks_end : 分完page浪费chunk数
mem_requested : 请求存储的字节数
active_slabs : slab数量
total_malloced : 总内存数量
被浪费的内存数 = (total_chunks * chunk_size) - mem_requested , 如果太大,需要调整factor