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连接来同步)
# 同步后恢复杂的正常使用
版权声明:本文博主原创文章,博客,未经同意不得转载。
memcached 实验论文的更多相关文章
- 【论文阅读】An Empirical Study of Architectural Decay in Open-Source Software
2020-06-19这篇文章是我学习 软件架构与中间件 课程时分享的论文.可以说,这篇文章塑造了我基本的科研观,也养成了我如今看论文的习惯.感谢老师们,也感谢恒恒对我的帮助. 论文地址: https: ...
- CNN在中文文本分类的应用
深度学习近一段时间以来在图像处理和NLP任务上都取得了不俗的成绩.通常,图像处理的任务是借助CNN来完成的,其特有的卷积.池化结构能够提取图像中各种不同程度的纹理.结构,并最终结合全连接网络实现信息的 ...
- Paper | 亚像素运动补偿 + 视频超分辨
目录 1. ABSTRACT 2. INTRODUCTION 3. RELATED WORKS 4. SUB-PIXEL MOTION COMPENSATION (SPMC) 5. OUR METHO ...
- SeqGAN 原理简述
1. 背景GAN在之前发的文章里已经说过了,虽然现在GAN的变种越来越多,用途广泛,但是它们的对抗思想都是没有变化的.简单来说,就是在生成的过程中加入一个可以鉴别真实数据和生成数据的鉴别器,使生成器G ...
- 多目标跟踪方法 NOMT 学习与总结
多目标跟踪方法 NOMT 学习与总结 ALFD NOMT MTT 读 'W. Choi, Near-Online Multi-target Tracking with Aggregated Local ...
- Ubuntu14.04下完美安装cloudermanage多种方式(图文详解)(博主推荐)
说在前面的话 我的机器是总共4台,分别为ubuntucmbigdata1.ubuntucmbigdata2.ubuntucmbigdata3和ubuntucmbigdata4. ClouderaMan ...
- Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一)
其实,基本思路跟如下差不多,我就不多详细说了,贴出主要图. 博主,我是直接借鉴下面这位博主,来进行安装的!(灰常感谢他们!) 在线和离线安装Cloudera CDH 5.6.0 Cloudera M ...
- Semi-supervised learning for Text Classification by Layer Partitioning
本文是arxiv上一篇较短的文章,之所以看是因为其标题中半监督和文本分类吸引了我.不过看完之后觉得所做的工作比较少,但想法其实也挺不错. 大多数的半监督方法都选择将小扰动施加到输入向量或其表示中,这种 ...
- Ordered Neurons: Integrating Tree Structures Into Recurrent Neural Networks
这是一篇发表在ICLR2019上的论文,并且还是ICLR2019的Best paper之一.该论文提出了能够学习树结构信息的ON-LSTM模型,这篇论文的开源代码可以在GitHub找到. 自然语言都是 ...
随机推荐
- logstash+ElasticSearch+Kibana VS Splunk
logstash+ElasticSearch+Kibana VS Splunk 最近帮磊哥移植一套开源的日志管理软件,替代Splunk. Splunk是一个功能强大的日志管理工具,它不仅可以用多种方式 ...
- Android - 缺少NDT选项和C/C++ Build选项 问题
缺少NDT选项和C/C++ Build选项 问题 本文地址: http://blog.csdn.net/caroline_wendy 时间: 2014.9.3 使用ADT(Android Develo ...
- c语言来实现c++
闲来没事,看了看sqlite的源代码,突然想用c实现c++,写了例如以下demo,自我感觉不错 #include <stdio.h> #include <stdlib.h> s ...
- Learning Cocos2d-x for WP8(1)——创建首个项目
原文:Learning Cocos2d-x for WP8(1)--创建首个项目 Cocos2d-x for WP8开发语言是C++,系列文章将参考兄弟篇Learning Cocos2d-x for ...
- malloc一次性最大能申请多大内存空间
受用户态内存地址空间的限制.64 位系统下分配几个 T 不成问题. 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:zz matrix链接:http://www.zhihu. ...
- eclipse3.1.1汉化版安装
确认安装好jdk以后,下载eclipse3.1.1及多语言包eclipse3.1.1 下载地址 http://eclipse.areum.biz/downloads/drops/R-3.1.1-2 ...
- 异构数据库迁移 db2---oracle
异构数据库迁移 其他数据库迁移到oracle,以移植db2数据库对象到Oracle的操作说明为例,其他数据库迁移到oracle类似. 移植之平台和相关工具 OS:linux DBMS:db2 Ora ...
- html弹窗,与弹出对话框
弹出对话框 <script type="text/JavaScript"> <!-- alert("Good Morning!"); //al ...
- 【前段开发】行内元素和块级元素总结(HTML CSS)
块级元素 <address> information on author <blockquote> long quotation <button> push but ...
- hdu3452 无向树去掉最小的边集使不论什么叶子与根不连通 / 最小割
思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割就可以.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<qu ...