一 简介:MGR集群架构的调优
二 过程:本文将从各个角度来具体阐述下
三 硬件
    1 硬件选择相同配置的服务器,磁盘,内存,cpu性能越高越好
四 网络
    1 0丢包和最好万兆网卡
五 MGR本身
   MGR本身需要非常好的网络情况,主要有以下几点需要
  1 内部集群的心跳检测
  2 写集合的广播和发送验证
  3 binlog的内部传输
六 相关优化参数
   1 report_host 直接绑定真实IP,而非机器域名,减少DNS解析问题,还可以避免因为解析错误导致的集群本身问题
   2 group_replication_compression_threshold 事务压缩参数,我们这里设置了131072(128K)
      参数解析: 1 此参数针对的binlog的内事务的压缩,采用的是LZ4压缩算法.(LZ4能很好的支持多线程环境,获得更高的压缩和解压速度)
                       2 大于阈值的有效负载的事务被压缩,经过压缩的binlog_event事务在传输到节点后会进行解压缩 
                       3 此参数能有效减少网络带宽的压力,带来整体性能的提升
                       4 此参数默认为1M,启用压缩模式,而且是read_only.所以需要预选配置好
   3 group_replication_transaction_size_limit 限制事务大小参数,我们这里设置了20971520(20M)
     参数解析:1 此参数是针对事务整体生成的binlog_event量大于阈值的情况,限制事务执行
                    2 大事务无论在PXC还是在MGR环境下都可能对整个集群造成非常严重的影响。
                    3 一旦事务本身超过阈值就会程序端报错,error日志也会有体现
                    4 此参数默认2G,建议结合线上环境和研发进行讨论自定义,尽量不要太大
   4 group_replication_unreachable_majority_timeout 节点检测参数 我们这里设置了5S
    参数解析: 1 当节点存在不可达状态时等待5S就不再等待,防止影响集群服务,如果仍保持UNREACHABLE,则将节点置为ERROR状态.默认无限等待
                    2 不要让有问题的节点一直呆在集群,及时提出,防止因为网络和其他问题导致整个集群性能问题
                    3 节点一旦被踢出就不会在集群的视图里
    5 并行复制相关参数
     参数解析: 1 5.7的并行复制极大的加快了队列应用的速度,强烈建议开启
    6 group_replication_flow_control_mode 是否开启流控控制
       group_replication_flow_control_certifier_threshold 开启流控控制应用队列参数 默认25000个
       group_replication_flow_control_applier_threshold 开启流控控制应用队列参数 默认25000个
       参数解析:1 一旦出现延迟(默认延迟25000个事务),则启动流量控制(Flow Control),每个周期性能衰减当前的10%,直到集群不可用(但集群节点状态为online),单个节点慢整个集群全慢。
                      2 默认是开启流控控制的,值为QUOTA/DISABLE是关闭流控
                      3 对于单主模式下,其实主要调节下应用流控相关参数即可,因为不会发生检测冲突.此参数建议根据环境进行相应调节(无调节经验)
六 整体过程
    我们再来看下单主模式下整体的过程
    1 写节点接收事务,应用事务,生成binlog,缓存在cache中,然后根据主键,binlog_cache等相关信息生成WS集合
    2 写节点通过协议广播并顺序推送WS到其他成员进行验证
    3 其他成员验证成功后,写节点binlog进行刷新binlog日志,返回客户端commit ok,事务提交成功
    4 其他成员验证成功后,写入relaylog中
    5 其他成员读取relaylog,加入应用队列.应用完成,然后写入本地binlog中 整个集群达到一致
七 总结
    通过整个过程我们发现,网络对于MGR整体集群非常重要,然后就是读节点的应用队列消费的速度.最后就是大事务导致的集群阻塞
八 后序 
    本人仅代表个人观点,如有问题,可以留言.我会第一时间进行修改

MGR架构~ 整体性能架构的调优的更多相关文章

  1. x86服务器中网络性能分析与调优 转

    x86服务器中网络性能分析与调优 2017-04-05 巨枫 英特尔精英汇 [OpenStack 易经]是 EasyStack 官微在2017年新推出的技术品牌,将原创技术干货分享给您,本期我们讨论 ...

  2. Java生产环境下性能监控与调优详解视频教程 百度云 网盘

    集数合计:9章Java视频教程详情描述:A0193<Java生产环境下性能监控与调优详解视频教程>软件开发只是第一步,上线后的性能监控与调优才是更为重要的一步本课程将为你讲解如何在生产环境 ...

  3. <JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  4. Java虚拟机性能监控与调优实战

    From:  https://c.m.163.com/news/a/D7B0C6Q40511PFUO.html?spss=newsapp&fromhistory=1 Java虚拟机性能监控与调 ...

  5. 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

  6. 使用JDK自带的visualvm进行性能监测和调优

    使用JDK自带的visualvm进行性能监测和调优   1.关于VisualVm工具  VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 J ...

  7. MySQL性能诊断与调优 转

    http://www.cnblogs.com/preftest/ http://www.highperfmysql.com/     BOOK LAMP 系统性能调优,第 3 部分: MySQL 服务 ...

  8. Spark性能优化--开发调优与资源调优

    参考: https://tech.meituan.com/spark-tuning-basic.html https://zhuanlan.zhihu.com/p/22024169 一.开发调优 1. ...

  9. MySQL性能诊断与调优

    LAMP 系统性能调优,第 3 部分: MySQL 服务器调优http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html LoadRun ...

随机推荐

  1. 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)

    误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机 ...

  2. java指定编码的按行读写txt文件(几种读写方式的比较)

    转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  3. 自定义QMenu

    参考: http://blog.csdn.net/qq1623803207/article/details/77449884 http://blog.sina.com.cn/s/blog_a6fb6c ...

  4. 安卓和java开发环境的安装

    java配置安卓需要,sdk,jdk(java),adt,eclipse 对于jdk的配置和安装: 1 卸载原来的jdk,重新配置环境变量只需要:在系统变量中把新的jdkJ安装路径写到“JAVA_HO ...

  5. windows远程桌面无法粘贴复制的问题解决方法

    这两天遇到一个困扰我很久的问题,每次通过winodws远程桌面,本地的数据无法通过复制粘贴到远程服务器上.现把我找到的解决方案记录下来分享给大家 一般出现问题可能性比较大的原因就是rdpclip.ex ...

  6. Tensorflow object detection API 搭建物体识别模型(二)

    二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...

  7. VirtualBox使用入门

    VirtualBox使用入门 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能玩虚拟机的人多少是懂点运维的,因此我就不跟大家介绍啥事虚拟化了.关于虚拟化产品大家用的应该也都大同小异 ...

  8. mysql 快速生成删除数据库中所有的表的语句

    SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_s ...

  9. MyBatis-CURD

    一.接口方法 /** * 删除.修改.添加操作都可以返回三种类型 * Integer.Long.Boolean */ public interface MyUserMapper { public My ...

  10. Gson入门教程【原】

    gson一个jar包就能纵横天下,不像Json-lib.jar依赖其它jar包. 点击右边图片下载jar包       或以下链接 http://central.maven.org/maven2/co ...