• Memcached学习笔记之四:Memcached统计命令


    Memcached提供一系列的命令进行优化的查看,方便我们调整我们的存储策略,查看我们的使用率,内存的使用率以及浪费情况。

    常用的命令有 stats、stats settings、stats items、stats slabs 等。

    1. stats 命令 服务器信息统计

      用于返回服务器的统计信息,比如 pid(进程号)、连接数等,具体如下:

    • pid: memcache服务器进程ID
    • uptime:服务器已运行秒数
    • time:服务器当前Unix时间戳
    • version:memcache版本
    • pointer_size:操作系统指针大小
    • rusage_user:进程累计用户时间
    • rusage_system:进程累计系统时间
    • curr_connections:当前连接数量
    • total_connections:Memcached运行以来连接总数
    • connection_structures:Memcached分配的连接结构数量
    • cmd_get:get命令请求次数
    • cmd_set:set命令请求次数
    • cmd_flush:flush命令请求次数
    • get_hits:get命令命中次数
    • get_misses:get命令未命中次数
    • delete_misses:delete命令未命中次数
    • delete_hits:delete命令命中次数
    • incr_misses:incr命令未命中次数
    • incr_hits:incr命令命中次数
    • decr_misses:decr命令未命中次数
    • decr_hits:decr命令命中次数
    • cas_misses:cas命令未命中次数
    • cas_hits:cas命令命中次数
    • cas_badval:使用擦拭次数
    • auth_cmds:认证命令处理的次数
    • auth_errors:认证失败数目
    • bytes_read:读取总字节数
    • bytes_written:发送总字节数
    • limit_maxbytes:分配的内存总大小(字节)
    • accepting_conns:服务器是否达到过最大连接(0/1)
    • listen_disabled_num:失效的监听数
    • threads:当前线程数
    • conn_yields:连接操作主动放弃数目
    • bytes:当前存储占用的字节数
    • curr_items:当前存储的数据总数
    • total_items:启动以来存储的数据总数
    • evictions:LRU释放的对象数目
    • reclaimed:已过期的数据条目来存储新数据的数目

      这些数据隐含的几个基本关系:
        rusage_user、rusage_system:这两个命令可以分析cpu是否过高。
        curr_connections 、total_connections :分析连接是否过多
        cmd_get 、get_hits 、get_misses :命中率
        bytes 、bytes_read 、bytes_written :分析字节数流量
        curr_items 、total_items 、evictions :分析对象LRU频率
        1:缓存命中率= get_hits/cmd_get * 100%
        2:get_misses的数字加上get_hits应该等于cmd_get

      另外:
      stats sizes命令: 输出所有Item的大小和个数,该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。注意:会锁定服务,暂停处理请求(建议不要使用)
      flush_all命令: flush_all [time] [noreply]      清理缓存的键值对,使内存中所有的item失效。

              加入参数 time 表示在 time 秒后失效。这个操作并不会真的释放内存空间,而是标识所有的item为失效。

      version命令:查看版本。

    2. stats settings 命令 设置信息统计

      maxbytes:最大字节数限制,0无限制
      maxconns:允许最大连接数
      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吞吐量(每event)
      cas_enabled:yes/no,是否启用CAS,-C禁用
      tcp_backlog:TCP监控日志
      auth_enabled_sasl:yes/no,是否启用SASL验证

    3. stats items 命令 数据项统计

      用于显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数),具体如下:

      number:该slab中对象数,不包含过期对象

      age:LRU队列中最老对象的过期时间

      evicted:LRU释放对象数

      evicted_nonzero:设置了非0时间的LRU释放对象数

      evicted_time:最后一次LRU秒数,监控频率

      outofmemory:不能存储对象次数,使用-M会报错

      tailrepairs:修复slabs次数

      reclaimed:使用过期对象空间存储对象次数

    4. 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里还没有被使用的chunk数

      free_chunks_end:新分配的但是还没有被使用的chunk数

      mem_requested:请求存储的字节数

      active_slabs:slab数量

      total_malloced:总内存数量

      被浪费内存数=((total_chunks或者used_chunks) * chunk_size) - mem_requested,如果太大,需要调整factor

      

      

  • 相关阅读:
    js正则验证邮箱格式
    PHP面向对象简易验证码类
    php 中 instanceof 操作符
    防止SQL注入
    通过实例详细讲解PHP垃圾回收机制
    PHP实现上传视频的功能
    二维数组分组
    时间戳转换为几分钟、几小时、几天、几周、几月、几年前
    自定义接口错误响应格式
    laravel写crontab定时任务(发送邮件)和laravel crontab不执行的问题
  • 原文地址:https://www.cnblogs.com/VweiweiyixiaoV/p/6768769.html
Copyright © 2020-2023  润新知