memcached参数表

合集下载

memcached 手册

memcached 手册

memcached 手册Memcached是一个高性能的开源内存对象缓存系统,被广泛地应用于提升网站和应用程序性能。

该手册将介绍Memcached的基本概念、安装配置、常用命令以及最佳实践等关键内容,旨在帮助读者快速了解和使用Memcached。

一、Memcached概述Memcached可以看作是一个分布式的缓存系统,它将数据缓存在内存中,并提供了简单的键值对存取接口。

相比于传统的关系型数据库,Memcached具有更快的读写速度和更高的并发能力,因为它直接操作内存而避免了磁盘I/O。

此外,Memcached采用了多台服务器的分布式架构,能够提供横向扩展的能力。

二、安装与配置1.下载和安装:Memcached可以从官方网站或其他镜像站点下载安装包,并根据相应平台的指引进行安装。

安装完成后,可以通过运行"memcached"命令来启动Memcached服务。

2.配置文件:Memcached的默认配置文件是"memcached.conf",可以通过修改该文件中的参数来调整Memcached的行为。

主要的配置项包括监听端口、最大连接数、内存容量等。

三、常用命令1.存储数据:用"set"命令可以将键值对存入Memcached中,例如:"set key 0 3600 5"表示存储一个key为"key",值为"0",并设置过期时间为3600秒。

如果要存储的值超出了内存容量限制,旧的数据将会被替换。

2.获取数据:用"get"命令可以从Memcached中获取指定键对应的值,例如:"get key"可以获取到之前存储的值。

如果该键不存在,返回结果将是"END"。

3.删除数据:用"delete"命令可以从Memcached中删除指定键对应的值,例如:"delete key"可以删除之前存储的值。

Memcache资料

Memcache资料

Memcache缓存1.MyBatis缓存MyBatis缓存分为一级缓存与二级缓存一级缓存:基于PerpetualCache 的HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有Cache 就将清空。

二级缓存:与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用域为Mapper(Namespace)缓存更新机制:当某一作用域(一级缓存Session/二级缓存Namespaces)的进行了C/U/D 操作后,默认该作用域下所有select 中的缓存将被清空避免使用二级缓存:/isea533/article/details/445662572.Memcachea)简介Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcache基于一个存储键/值对的hashmapb)安装安装命令-d 选项是启动一个守护进程-m 是分配给Memcache使用的内存数量,单位是MB,默认是64MB-u 是运行Memcache的用户-L 是监听的服务器IP地址,默认应该是本机-I page大小,默认1M-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件位置-h 打印帮助信息-f 指定chunk增长因子大小,该值越小所能提供的chunk间隔越小,可以减少内存的浪费-n chunk最小尺寸-v 输出警告和错误信息-vv 打印客户端的请求和返回信息PS:Memcached单进程在32位系统中最大使用内存为2G,若在64位系统则没有限制,这是由于32位系统限制单进程最多可使用2G内存,要使用更多内存,可以分多个端口开启多个Memcached进程最大30天的数据过期时间,设置为永久的也会在这个时间过期Key: 最大键长为250字节,大于长度无法存储,常量KEY_MAX_LENGTH 250控制Value: 单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制运行命令1. 使用telnet连接Memcache服务器端口2. 连接上端口输入stats命令,获取描述Memcache服务器运行情况的参数操作命令 /zzulp/article/details/7823511 命令参数以及用法: 1. s et:命令用于向缓存添加新的键值对。

MemCached参考资料

MemCached参考资料

MemCached帮助文档1、安装(for Windows)memcached 1.2.4 for win32.下载地址:/memcached-win32/例如:c:\memcached\memcached.exe -d installc:\memcached\memcached.exe -d start(默认端口11211)参数解释:-d 以守护程序(daemon)方式运行 memcached;-m 设置 memcached 可以使用的内存大小,单位为 M;-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。

-h 帮助2、查看使用状态首先登录到服务器,然后在cmd命令行中键入telnet 127.0.0.1 11211其中127.0.0.1是服务器的地址(这里是本机),11211是memcached绑定的端口号。

之后命令行窗口全黑只有光标提示,摸黑输入stats,即可得到描述Memcached服务器运行情况的参数。

如下图:其中,uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。

这两个数据相除一下就能得到平均每秒请求缓存的次数——最近niupu的流量很低,所以平均也就一秒请求一次多,这么点大的压力,用文件系统缓存一样没问题,根本不会体现出使用memcached的优越。

下面的cmd_set 就是设置key=>value的次数。

整个memcached是个大hash,用cmd_get 没有找到的内容,就会调用一下cmd_set写进缓存里。

紧跟着是get_hits,就是缓存命中的次数。

缓存命中率 = get_hits/cmd_get * 100%。

下面的get_misses的数字加上get_hits应该等于cmd_get。

memcached参数

memcached参数

memcached参数Memcached是一种高性能的分布式内存对象缓存系统,常用于提高Web应用程序的性能和扩展性。

Memcached的设计目标是提供一个简单、快速、可扩展的缓存解决方案,而其参数配置则对其性能和稳定性至关重要。

以下是一些常见的Memcached参数及其作用:2. -U,--udp:启用UDP监听功能。

默认情况下,Memcached使用TCP进行通信,但也可以选择启用UDP。

使用UDP可以提高性能,但同时也可能会导致数据丢失。

3. -l,--listen:指定绑定的IP地址。

默认情况下,Memcached会绑定到所有可用的IP地址上,但可以通过此参数来指定要绑定的特定IP地址。

4. -u,--user:指定运行Memcached进程的用户。

可以使用此参数来提高服务器的安全性,限制只有指定用户才能运行Memcached。

5. -m,--memory:指定Memcached使用的内存大小(以MB为单位)。

这个参数非常重要,它决定了可以缓存的对象数量和大小。

应根据预期的负载和可用内存来调整此参数。

6. -c,--connections:指定Memcached服务器能够处理的最大并发连接数。

默认情况下,这个值是1024,但在高并发情况下,可能需要增加这个值来处理更多的连接。

7. -t,--threads:指定Memcached使用的线程数量。

默认情况下,Memcached会根据可用的处理器核心数量来自动配置线程数,但也可以通过此参数来手动设置线程数量。

9. -R,--max-reqs-per-event:指定每个事件处理器循环中处理的最大请求数。

默认情况下,Memcached每次处理一个请求,但这个参数可以用来限制每个事件处理器循环中处理的请求数,以提高其他连接的响应速度。

以上是一些常用的Memcached参数,通过对这些参数的配置,可以根据实际需求来优化Memcached的性能和稳定性。

Memcached

Memcached
stats:显示服务器信息、统计数据等
stats reset:清空统计数据
stats slabs:显示各个slab的信息,包括chunk的大小、数目、使用情况等
stats items:显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)
quit:退出
4.3.4、重启
# kill `cat /tmp/memcached.pid`
evictions Number of valid items removed from cache to free memory for new items (为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items))
bytes_written Total number of bytes sent by this server to network (服务器向网络发送的总字节数)
limit_maxbytes Number of bytes this server is allowed to use for storage. (服务器在存储时被允许使用的字节总数)
4.3.2、基本测试
# telete 127.0.0.1 12000
# telnet 127.0.0.1 12000
set test 0 0 6 向test当中存储数据
123456 输入的key为test存入数据
STORED 返回set结果
get test 获取数据
connection_structures Number of connection structures allocated by the server (服务器分配的连接结构的数量)

Memcached 源码分析--命令流程分析

Memcached 源码分析--命令流程分析

Memcached 源码分析--命令流程分析一、执行命令首先是启动memcached 自带参数如下:[plain] view plain copy print?在CODE上查看代码片派生到我的代码片<span style="font-size:18px;">-p <num> 设置TCP端口号(默认设置为: 11211)-U <num> UDP监听端口(默认: 11211, 0 时关闭)-l <ip_addr> 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)-c <num> max simultaneous connections (default: 1024)-d 以daemon方式运行-u <username> 绑定使用指定用于运行进程<username>-m <num> 允许最大内存用量,单位M (默认: 64 MB)-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用</span>#$: ./usr/local/bin/memcached -d -u root -l 192.168.10.156 -m 2048 -p 12121客户端通过网络方式连接:telnet 192.168.10.156 12121然后就可以操作命令、常见命令如下:[plain] view plain copy print?在CODE上查看代码片派生到我的代码片<span style="font-size:18px;">setaddreplacegetdelete</span>格式如下:[plain] view plain copy print?在CODE上查看代码片派生到我的代码片<span style="font-size:18px;">command <key> <flags> <expiration time> <bytes><value>参数说明如下:command set/add/replacekey key 用于查找缓存值flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息expiration time 在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)bytes 在缓存中存储的字节点value 存储的值(始终位于第二行)</span>二、命令执行流程代码分析首先看一下工作线程中的命令数据结构:/*** The structure representing a connection into memcached.*/typedef struct conn conn;非常重要的几个参数:char * rbuf:用于存储客户端数据报文中的命令。

Memcached强大的缓存中间件

Memcached强大的缓存中间件

Memcached教程2018年5月30日修改记录Mencached1.1介绍Memcached是一个自由开源的,高性能,分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

相对于session缓存的话,session缓存占用内存太高,分布式的项目也只能用中间件缓存,所以session缓存将会推出历史舞台。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

1.2第二步安装获取Memcached通过wget /files/memcached-1.4.24.tar.gz下载最新源码。

安装Memcached1、解压tar -xf memcached-1.4.24.tar.gz;2、进入目录cd memcached-1.4.24/;3、配置 ./configure;1 /94、编译安装make&&make install;其中&&表示前面的命令执行成功才会执行后面的命令;安装完成后memcached的默认目录为/usr/local/bin/memcached启动memcached启动例子:memcached -u root -d启动参数说明:-d 选项是启动一个守护进程。

-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。

-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户-p <num>是设置Memcache的TCP监听的端口,最好是1024以上的端口。

-c 选项是最大运行的并发连接数,默认是1024。

-P <file> 是设置保存Memcache的pid文件。

参考地址:https:///article/e2284b2b6070eee2e7118d67.html1.3第三步配置gitlabsudo gitlab-ctl reconfigure注意:1、防火墙限制了端口,centos7 开放firewall端口开发防火墙:sudo firewall-cmd--permanent--add-service=http2 /92:阿里云安全组件开发端口3 /94 /9对照:文章 /?p=2733。

Memecached的安装与使用

Memecached的安装与使用

M e m e c a c h e d的安装与使用公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]Meme cached的安装与使用一、下载Memercached For Windows二、安装步骤1、解压到指定目录,如:C:\Memcached\。

2、用cmd打开命令窗口,转到解压的目录,输入“ -d install”。

3、打开控制面板,打开服务,可以看到memcached已经在上面可,如果没有启动,则手动启动一下。

4、??? 使用telnet命令验证缓存服务器是否可用。

开始什么都不显示,回车后输入命令? stats? 查看统计信息,如下图,说明服务器运作正常。

三、参数介绍1.以上的安装和启动都是在默认环境下进行的,在安装时可设置如下参数:-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行 (仅在以root运行的时候有效)-m 最大内存使用,单位MB。

默认64MB-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是1024-f 块大小增长因子,默认是-n 最小分配空间,key+value+flags默认是48-h 显示帮助如:“memcached -d install -l -m 1024 -c2048”。

2.输入stats命令后,页面出现的参数介绍。

STAT pid 4356 服务器进程IDSTAT uptime 56625 服务器运行时间,单位秒STAT time 79 服务器当前的UNIX时间STAT 服务器的版本号STAT pointer_size 64STAT rusage_user 该进程累计的用户时间(秒:微妙)STAT rusage_system 该进程累计的系统时间(秒:微妙)STAT ibuffer_size 4096STAT curr_connections 13 连接数量STAT total_connections 54136 服务器运行以来接受的连接总数STAT connection_structures 318 服务器分配的连接结构的数量STAT cmd_get 100595 取回请求总数STAT cmd_set 6510 存储请求总数STAT get_hits 96543 请求成功的总次数STAT get_misses 4052 请求失败的总次数STAT bytes_read 4427679 服务器从网络读取到的总字节数STAT bytes_written 6585596 服务器向网络发送的总字节数备注:uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。

memcached 参数

memcached 参数

Memcached 是一个高性能的分布式内存对象缓存系统,它可以用于加速Web 应用程序。

下面是一些常见的Memcached 参数:
1. -m <num>:所有slab 类可用内存的上限,以MB 为单位。

默认值为64MB。

2. -M:内存用光时报错。

3. -p <num>:指定Memcached 监听的TCP 端口号。

默认值为11211。

4. -U <num>:指定Memcached 监听的UDP 端口号。

默认值为0,表示关闭UDP 监听。

5. -s <file>:指定Memcached 监听的UNIX 套接字文件名。

禁用网络支持。

6. -a <num>:UNIX 套接字访问掩码,以八进制表示。

默认值为700。

7. -A:启用ASCII 格式的"shutdown" 命令。

8. -l <ip_addr>:指定Memcached 监听的IP 地址。

默认值为INADDR_ANY,表示绑定所有可用IP 地址。

9. -D <dir>:指定Memcached 的数据目录。

10. -q:关闭日志输出。

这些是Memcached 的一些常见参数,您可以根据需要进行配置。

请注意,Memcached 还提供了许多其他选项和功能,您可以通过运行man memcached 命令查看完整的命令行手册来了解更多信息。

Memcached

Memcached

Memcached一:Memcached简介1、Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

2、Memcached基于一个存储键/值对的hashmap。

其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

二:Memcached参数-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行(仅在以root运行的时候有效)-m 最大内存使用,单位MB。

默认64MB-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是1024-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48-h 显示帮助三:Memcached 安装1、下载memcached 安装包(课件中会提供)2、把memcached放到d:/memcached/中(路径可自定义,不用和我一样)3、进入cmd 命令行模式运行memcached.exe –d install4、执行memcached.exe -d start (开机启动了哦~~~,默认端口是11211)四:修改启动参数运行中输入regedit 进入注册表模式1、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一个ImagePath 的字符串项双击该串2、在后面加入-l 127.0.0.1 -m 128 -p 12345 (访问ip为:127.0.0.1 使用128M内存,12345为端口),再重新启动服务。

Memcached操作命令

Memcached操作命令

memcached的基本命令(安装、卸载、启动、配置相关) memcached的基本命令(安装、卸载、启动、配置相关):-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行(仅在以root运行的时候有效)-m 最大内存使用,单位MB。

默认64MB-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是1024-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48-h 显示帮助memcached的基本命令(当memcached 启动后用于对memcached管理的数据和本身运行memcached telnet 命令与返回结果详解博客分类:memcachedmemcachedtelent参数不算多,我们来启动一个Memcache的服务器端:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache 的pid文件,我这里是保存在/tmp/memcached.pid,如果要结束Memcache进程,执行:# kill `cat /tmp/memcached.pid`get key1ENDset key1 0 3600 3123STOREDincr key1 5128decr key1 5123delete key1DELETEDget key1ENDquitdelete 命令格式: delete <key>基本memcached 客户机命令您将使用五种基本memcached 命令执行最简单的操作。

Memcache所有方法及参数详解

Memcache所有方法及参数详解

Memcache所有⽅法及参数详解memcache函数所有的⽅法列表如下:参考/manual/zh/function.Memcache-add.phpMemcache::add - 添加⼀个值,如果已经存在,则返回falseMemcache::addServer - 添加⼀个可供使⽤的服务器地址Memcache::close - 关闭⼀个Memcache对象Memcache::connect - 创建⼀个Memcache对象memcache_debug - 控制调试功能Memcache::decrement - 对保存的某个key中的值进⾏减法操作Memcache::delete - 删除⼀个key值Memcache::flush - 清除所有缓存的数据Memcache::get - 获取⼀个key值Memcache::getExtendedStats - 获取进程池中所有进程的运⾏系统统计Memcache::getServerStatus - 获取运⾏服务器的参数Memcache::getStats - 返回服务器的⼀些运⾏统计信息Memcache::getVersion - 返回运⾏的Memcache的版本信息Memcache::increment - 对保存的某个key中的值进⾏加法操作Memcache::pconnect - 创建⼀个Memcache的持久连接对象Memcache::replace -对⼀个已有的key进⾏覆写操作Memcache::set - 添加⼀个值,如果已经存在,则覆写Memcache::setCompressThreshold - 对⼤于某⼀⼤⼩的数据进⾏压缩Memcache::setServerParams - 在运⾏时修改服务器的参数Memcache::add⽤法bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )说明:如果key不存在的时候,使⽤这个函数来存储var的值。

Memcached命令详细解释

Memcached命令详细解释
-rwxr-xr-x 1 root root 202029 Nov 15 23:07 /usr/local/bin/memcached
windows下的安装
下载windows下的memcached程序:/memcached-win32/
解压之后双击安装即可。安装完毕可以在控制面板–》管理工具–》服务中看到已安装的服务信息:
1)安装libevent
cd /opt/install
tar zxvf libevent-1.4.12-stable.tar.gz
cd libevent-1.4.12-stable
./configure
make
make install
2)安装memcached,将软件上传到/opt文件夹下
VALUE userid 0 5 10
54321
END
#修改版本号位10的key=userid数据
cas userid 0 0 5 10
55555
#修改成功
STORED
#删除key=userid的数据
delete userid
#删除成功
DELETED
3)添加开机自启服务,在/etc/rc.local文件中加载启动命令,参数需要根据实际情况指定,如
管理说明
1)启动参数说明
如下命令是root用户以守护进程的形式启动 memcached,为其分配 256M 内存
memcached -d -m 256 -u root –c 10240
memcached -d -m 2048 -u root -c 10240
主要启动参数说明
-d
2)管理参数说明

memcached 参数

memcached 参数

memcached参数
Memcached是一种高性能的分布式内存缓存系统,它常用于提升Web应用程序的性能和可扩展性。

以下是一些常见的Memcached参数和其作用的简要说明:
1.`-p`或`--port`:指定Memcached服务器监听的端口号,默认为11211。

2.`-l`或`--listen`:指定Memcached服务器监听的IP地址,默认为所有可用地址。

3.`-m`或`--memory`:指定分配给Memcached的内存容量,以MB为单位。

4.`-c`或`--connections`:指定Memcached服务器可以同时处理的最大连接数。

5.`-t`或`--threads`:指定Memcached服务器使用的线程数。

6.`-k`或`--lock-memory`:锁定分配给Memcached的内存,防止其他进程使用。

7.`-M`或`--disable-eviction`:禁用缓存淘汰机制,即不会自动删除过期或较少使用的数据。

8.`-I`或`--max-item-size`:设置Memcached中每个存储项的最大大小,默认为1MB。

9.`-f`或`--factor`:设置缓存大小增长的因子,用于动态扩展内存。

10.`-n`或`--min-threads`:指定空闲线程的最小数量,用于处理请求。

11.`-R`或`--max-requests`:限制每个连接的最大请求数。

12.`-B`或`--binary-protocol`:启用Memcached的二进制协议。

Memcached内存分析、调优、集群

Memcached内存分析、调优、集群

存储命令
comman d
set无论如何都进行存储 add只有数据不存在时进行添加 repalce只有数据存在时进行替换 append往后追加:append <key> datablock <status>? prepend往前追加:prepend <key> datablock <status> cas按版本号更改 字符串,<250个字符,不包含空格和控制字符 客户端用来标识数据格式的数值,如json,xml,压缩等 存活时间s,0为永远,<30天60*60*24*30为秒数,>30天为unixtime byte字节数,不包含\r\n,根据长度截取存/取的字符串,可以是0,即存空串 文本行,以\r\n结尾,当然可以包含\r或\n
Memcached 内存分析、调优、集群
导航
• • • • • • 1.Memcached背景 2.Memcached使用:安装、启动、命令、统计 3.深入Memcached内部:slab、page、item 4.Memcached分布式:一致性Hash 5.key-value系统比较:集群、性能对比 6.Memcached客户端
key flags exptime bytes datablock
存储命令set/add/replace
datablock长度必须正确 add只能添加不存在的key replace只能替换已有的key
set liu 32 0 4 java STORED//正确 get liu VALUE abc 32 4 java END set liu 32 0 4 cplus CLIENT_ERROR bad data chunk ERROR//长度错误

Memcached命令行用法

Memcached命令行用法

Memcache 的命令行用法1、启动Memcache 常用参数memcached 1.4.3 -p <num> -U <num> 设置端口号(默认不设置为: 11211) UDP 监听端口(默认: 11211, 0 时关闭) -l <ip_addr> 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1 就只能本机访问) -d 独立进程运行-u <username> 绑定使用指定用于运行进程<username> -m <num> -P <file> 如:在linux 下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121 在window 下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500 在windows 下注册为服务后运行:sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500〃start= auto net start jb-Memcached 允许最大内存用量,单位M (默认: 64 MB) 将PID 写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用2、连接:telnet 127.0.0.1 11211 不要说不会用这个?3、写入memcache <command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n a) <command name> 可以是”set”, “add”, “replace”。

memcached告警指标

memcached告警指标

memcached告警指标Memcached 是一种常用的开源内存对象缓存系统,广泛应用于大型分布式系统中,能够有效提高系统的性能和响应速度。

然而,由于其本身的特性,Memcached 在某些情况下也存在一些潜在的问题,如内存消耗、吞吐量、平均响应时间等。

为了及时发现和解决这些问题,需要对Memcached 进行合理的监控和告警。

下面将介绍一些常见的Memcached告警指标和如何通过监控来实现。

1. 内存消耗:Memcached 主要使用内存作为缓存存储介质,因此内存消耗是一个重要的指标。

如果缓存中的数据量超过可用内存限制,会导致系统性能下降或崩溃。

因此,监控Memcached 的内存消耗是非常必要的。

可以通过监控以下指标来判断内存消耗是否正常:- curr_items:当前数据库中的数据项数目。

- bytes:缓存中当前使用的字节数。

- limit_maxbytes:缓存可用的最大字节数。

告警阈值可以根据实际情况设置,一般可以设置为缓存可用内存的百分比,比如80%。

2. 平均响应时间:Memcached 提供了快速的读写操作,一般情况下响应时间应该较低。

如果平均响应时间过高,说明系统性能可能存在问题,导致用户请求的延迟增加。

可以通过监控以下指标来判断平均响应时间是否正常:- get命令的average(avg)响应时间- set命令的average(avg)响应时间- delete命令的average(avg)响应时间告警阈值可以根据实际情况设置,一般可以根据具体的SLA (Service Level Agreement)要求。

3. 吞吐量:Memcached 是一种高性能的缓存系统,吞吐量是衡量其性能的重要指标。

如果系统吞吐量下降,可能存在网络瓶颈、硬件故障或系统负载过高等问题。

可以通过监控以下指标来判断Memcached 的吞吐量是否正常:- cmd_get:从缓存中读取数据的请求数。

- cmd_set:向缓存中写入数据的请求数。

Memcached介绍

Memcached介绍

Memcached介绍1、Memcached简介 Memcached是国外社区⽹站LiveJournal的开发团队开发的⾼性能分布式内存缓存服务器。

⼀般的使⽤⽬的是,通过缓存数据库查询结果,减少数据库访问次数,以提⾼动态Web应⽤的速度,提⾼可扩展性。

2、Memcached特点基于C/S架构,协议简单基于libevent的事件处理机制⾃主内存存储处理基于客户端的Memcached分布式⾃主内存存储⽅式数据存储⽅式:Slab Allocation数据过期⽅式:Lazy Expiration + LRU说明: Slab Allocation Slab Allocation 的原理是将分配的内存分割成各种尺⼨的块(chunk),并把尺⼨相同的块分成组(chunk 的集合),如图另外slab allocator 还有重复使⽤已分配的内存功能。

即分配到的内存不会释放,⽽是重复利⽤。

但这也可能会导致不能有效的使⽤分配的内存。

Lazy Expiration Memcached内部不会监视记录是否过期,⽽是在get时查看记录的时间戳,检查记录是否过期。

这种技术成为lazy expiration。

Memcached不会在过期监视上浪费CPU时间。

LRU Memcached会优先使⽤已超时的记录空间,但即使如此,也会发⽣追加新纪录时空间不⾜的情况。

这时需要使⽤Least Recently Used(LRU)机制,删除最近最少使⽤的记录⽅式来分配空间。

3、Memcachedz配置 Memcached服务器在启动时需要对关键的参数进⾏配置,参数及作⽤如下:1. -p <num> Memcached的TCP监听端⼝,缺省配置为11211;2. -U <num> Memcached的UDP监听端⼝,缺省配置为11211,为0时表⽰关闭UDP监听;3. -s <file> Memcached监听的UNIX套接字路径;4. -a <mask> 访问UNIX套接字的⼋进制掩码,缺省配置为0700;5. -l <addr> 监听的服务器IP地址,默认为所有⽹卡;6. -d 为Memcached服务器启动守护进程;7. -r 最⼤core⽂件⼤⼩;8. -u <username> 运⾏Memcached的⽤户,如果当前为root的话需要使⽤此参数指定⽤户;9. -m <num> 分配给Memcached使⽤的内存数量,单位是MB;10. -M 指⽰Memcached在内存⽤光的时候返回错误⽽不是使⽤LRU算法移除数据记录;11. -c <num> 最⼤并发连数,缺省配置为1024;12. -v –vv –vvv 设定服务器端打印的消息的详细程度,其中-v仅打印错误和警告信息,-vv在-v的基础上还会打印客户端的命令和相应,-vvv在-vv的基础上还会打印内存状态转换信息;13. -f <factor> ⽤于设置chunk⼤⼩的递增因⼦;14. -n <bytes> 最⼩的chunk⼤⼩,缺省配置为48个字节;15. -t <num> Memcached服务器使⽤的线程数,缺省配置为4个;16. -L 尝试使⽤⼤内存页;17. -R 每个事件的最⼤请求数,缺省配置为20个;18. -C 禁⽤CAS,CAS模式会带来8个字节的冗余;4、Memcached与redis对⽐1. 性能对⽐:由于Redis只使⽤单核,⽽Memcached可以使⽤多核,所以平均每⼀个核上Redis在存储⼩数据时⽐Memcached性能更⾼。

Memcached 基础

Memcached 基础

memcdump --servers=IP地址 memccat --servers=IP地址 key
libmemcached-tools上传文件
memccp --servers=IP地址 filename memcat --servers= IP地址 filename
Memcached监控
使用telnet连接memcached后 ,使用watch fetchers启动监控。
libmemcached-tools介绍
libmemcached-tools是一款用来自动化测试Memcached服务的工具套件。
安装:apt install libmemcached-tools
libmemcached-tools获取stat信息
memcstat --servers=IP地址
libmemcached-tools榨取数据
Memcached探测
启动memcached服务之后,系统中分配的11211处于监听等待连接状态。可以使用telnet、 nmap等工具对其进行探测。 telnet IP地址 11211
nmap -p 11211 -sV IP地址
Memcached数据榨取的基础
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。因为 没有身份认证,所以可以直接连接并执行命令。
nc 连接memcached(11211端口) nc IP地址 11211
nc榨取 Memcached数据
连接之后,可以使用memcached中的命令(https:///memcached/memcached/wiki)。
例如: version 获取版本信息 stats 返回统计信息例如 PID(进程号)、版本号、连接数 stats slabs 返回各个slab的信息,包括chunk的大小、数目、使用情况等。 stats items 返回各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)。 stats cachedump 1 0 提取slab 1所有的key

memcached 理论参数计算方式

memcached 理论参数计算方式

◎Memcached的理论参数计算方式影响 memcached 工作的几个参数有:常量REALTIME_MAXDELTA 60*60*24*30最大30天的过期时间conn_init()中的freetotal(=200)最大同时连接数常量KEY_MAX_LENGTH 250最大键长settings.factor(=1.25)factor将影响chunk的步进大小settings.maxconns(=1024)最大软连接settings.chunk_size(=48)一个保守估计的key+value长度,用来生成id1中的chunk长度(1.2)。

id1的chunk长度等于这个数值加上item结构体的长度(32),即默认的80字节。

常量POWER_SMALLEST 1最小classid(1.2)常量POWER_LARGEST 200最大classid(1.2)常量POWER_BLOCK 1048576默认slab大小常量CHUNK_ALIGN_BYTES (sizeof(void *))保证chunk大小是这个数值的整数倍,防止越界(void *的长度在不同系统上不一样,在标准32位系统上是4)常量ITEM_UPDATE_INTERVAL 60队列刷新间隔常量LARGEST_ID 255最大item链表数(这个值不能比最大的classid小)变量hashpower(在1.1中是常量HASHPOWER)决定hashtable的大小根据上面介绍的内容及参数设定,可以计算出的一些结果:1、在memcached中可以保存的item个数是没有软件上限的,之前我的100万的说法是错误的。

2、假设NewHash算法碰撞均匀,查找item的循环次数是item总数除以hashtable大小(由hashpower决定),是线性的。

3、Memcached限制了可以接受的最大item是1MB,大于1MB的数据不予理会。

4、Memcached的空间利用率和数据特性有很大的关系,又与DONT_PREALLOC_SLABS常量有关。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
network
limit_maxbytes
32u
服务器在存储时被允许使用的字节总数
Number of bytes this server is allowed to
use for storage
名称/Name
类型/Type
含义/Meaning
Pid
32u
服务器进程ID
Process id of this server process
uptime
32u
服务器运行时间,单位秒
Number of seconds this server has been running
time
32u
服务器当前的UNIX时间
get_hits
--client read hits
32u
请求成功的总次数
Number of keys that have been requested and
found present
get_misses
32u
请求失败的总次数
Number of items that have been requested
--process total connections
32u
服务器运行以来接受的连接总数
Total number of connections opened since
the server started running
connection_structures
32u
服务器分配的连接结构的数量
Number of connection structures allocated
(seconds:microseconds)
rusage_system
32u:32u
该进程累计的系统时间
(秒:微妙)
Accumulated system time for this process
(seconds:microseconds)
curr_items
—current items num
32u
by the server
cmd_get
--client readnum
32u
取回请求总数
Cumulative number of retrieval requests
cmd_set
--clientwritenum
32u
存储请求总数
Cumulative number of storage requests
current UNIX time according to the server
version
string
服务器的版本号
Version string of this server
rusage_user
32u:32u
该进程累计的用户时间
(秒:微妙)
Accumulated user time for this process
and not found
bytes_read
64u
服务器从网络读取到的总字节数
Total number of bytes read by this server
from network
bytes_written
64u
服务器向网络发送的总字节数
Total number of bytes sent by this server to
服务器当前存储的内容数量
Current number of items stored by the server
total_items32uLeabharlann 服务器启动以来存储过的内容总数
Total number of items stored by this server
ever since it started
bytes
64u
服务器当前存储内容所占用的字节数
Current number of bytes used by this server
to store items
curr_connections
—current net connections
32u
连接数量
Number of open connections
total_connections
相关文档
最新文档