memcached 实验论文

      虽然在这个年龄段谈话memcached 它可能是一个有点晚,最为cached 在应用程序中redis 在之上,下面将谈谈自己的一些看法,

这个文件是不是memcached 理论描述,只写的实验数据和结果。


基本參数:能够參考下(当中带 # # 为应该掌握的參数)

-U  #  #<num> 监听的UDPport(默认: 11211, 0表示不监听)
-s     #<file> 用于监听的UNIX套接字路径(禁用网络支持)
-a     #<mask> UNIX套接字訪问掩码,八进制数字(默认:0700)
-l  #  #<ip_addr> 监听的IP地址。(默认:INADDR_ANY。全部地址)
-d  #  #作为守护进程来执行。
-r  #  #最大核心文件限制。
-u  #  #<username> 设定进程所属用户。(仅仅有root用户能够使用这个參数)
-m  #  #<num> 单个数据项的最大可用内存,以MB为单位。

(默认:64MB) -M #内存用光时报错。(不会删除数据) -c # #<num> 最大并发连接数。

(默认:1024) -k #锁定全部内存页。

注意你能够锁定的内存上限。 ##试图分配很多其它内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。

##(不是前面的 -u <username> 參数。在sh下,使用命令"ulimit -S -l NUM_KB"来设置。) -v #提示信息(在事件循环中打印错误/警告信息。) -vv #具体信息(还打印client命令/响应) -vvv #超具体信息(还打印内部状态的变化) -h #打印这个帮助信息并退出。

-i #打印memcached和libevent的许可。 -P # #<file> 保存进程ID到指定文件。仅仅有在使用 -d 选项的时候才有意义。 -f #<factor> 块大小增长因子。(默认:1.25) -n #<bytes> 分配给key+value+flags的最小空间(默认:48) -L #尝试使用大内存页(假设可用的话)。

提高内存页尺寸能够降低"页表缓冲(TLB)"丢失次数,提高执行效率。 #为了从操作系统获得大内存页,memcached会把全部数据项分配到一个大区块。 -D #<char> 使用 <char> 作为前缀和ID的分隔符。 #这个用于按前缀获得状态报告。默认是":"(冒号)。

#假设指定了这个參数,则状态收集会自己主动开启;假设没指定。则须要用命令"stats detail on"来开启。

-t # #<num> 使用的线程数(默认:4) -R # #每一个连接可处理的最大请求数。

-x  #  #repcached 用来指定Master IP 的配置 : -x <IP>
-X  #  #repcached 用来指定Master PORT 的配置:-X <PORT>

实现结果:

实现採用两台机器做 主-主、主-从、三台机器、抓包分析获得:

######配置
#主1  memcached -d -v -m 100 -u root -l 192.168.1.253 -p 12000 -c 1024 -x 192.168.1.254 -X 11212 -P /tmp/memcached.pid
#从2  memcached -d -v -m 100 -u root -l 192.168.1.254 -p 12001 -c 1024 -P /tmp/memcached.pid -x 192.168.1.253 -X 11212

##结论1
# repcache-memcached 双主从中步时,两台可同一时候进行 get , set 等操作

##结论2
# 当一台主意外停掉memcached 时(实验中採用 kill 掉) ,再次启动memcached 时会在还有一台内存中copy 一份实时数据到自已内存中 -- 重要

##结论3
# 假设不指定 -x -X 參数的memcached 停掉时,再次启动时 [不会] 在其他memcached 中复制数据到内存中

##结论4
#                 192.168.1.253(12000)[-x 192.168.1.254 -X 11212] <--------> 192.168.1.254(12001)[-x 192.168.1.253 -X 11212]
#						|                      											|
#                       |                                                               |
#                       |                                                               |
#                     192.168.1.243(12002)[ -x 192.168.1.253 -X 11212 或者 -x 192.168.1.254 -X 11212] 都不成都
#
# 实验结论: repcached 仅仅能做两台复制 仅仅能 主-主模式 或者 主-从模式
#            repcached 不能单主-双从模式, 不能双主多重模式

##结论5
# repcached-memcached 数据同步底层使用TCP长链接发送数据,数据处于明文状态

##结论6
# repcached-memcached 从在启动时, 从首先利用配置中的 -x -X 指定的IP,port与主建立TCP持久连接,
# 链接建立完毕后 主開始发送 内存数据给从,一条发送一条内存数据,
# 主最后一条发送完毕标志给从,告诉从数据已经发送完毕,从初始化内存数据并開始对处提供服务.

##结论7
# 利用iptables 模拟断网过程
# 当断网到恢复状态时,双主环境能够又一次同步内存数据
# 当断网到恢复状态时,双从环境下,仅仅有从同步主中内存数据而主并不会同步从中内存数据(全然靠 -x -X 来指定连立新的TCP连接来同步)
# 同步后恢复杂的正常使用



版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-06 11:24  lcchuguo  阅读(264)  评论(0编辑  收藏  举报