广告
返回顶部
首页 > 资讯 > 数据库 >PXC——状态参数与变量参数
  • 536
分享到

PXC——状态参数与变量参数

2024-04-02 19:04:59 536人浏览 安东尼
摘要

“galera 参数解析:”1、状态参数:--wsrep_last_committed:  表示的是当前节点最新提交的事务号,也是最新galera GTID的后半部分,前半部分是参数wsrep_l

“galera 参数解析:”

1、状态参数:

--wsrep_last_committed:

  表示的是当前节点最新提交的事务号,也是最新galera GTID的后半部分,前半部分是参数wsrep_local_state_uuid的值,在每次执行提交、DDL执行完成或APPLY之后,都会更新这个值;


--wsrep_replicated:

  表示当前节点已经复制过的事务数目。


--wsrep_replicated_bytes:

  与参数wsrep_replicated相对应,每一个事务的大小不同,这个参数表示已经复制的wsrep_replicated个事务总字节大小(key和data)的总和;


--wsrep_repl_keys:

  当前节点已经复制的wsrep_replicated个事务对应的总的key的数目,一个事务可以包含多个key;


--wsrep_repl_keys_bytes:

  与参数wsrep_repl_keys对应,所有发送的key的大小加起来的值,代表总的字节大小;


--wsrep_repl_data_bytes:

  与参数wsrep_repl_keys_bytes对应,与上面几个参数的关系时:wsrep_replicated_bytes=wsrep_repl_keys_bytes+wsrep_repl_data_bytes+wsrep_replicated*64;


--wsrep_received:

  与参数wsrep_replicated对应,表示当前节点已经收到的从写节点复制过的事务数,单位为事务个数;


--wsrep_received_bytes:

  对参数wsrep_received对应,表示收到的所有事务包含的key及DATA的字节数


--wsrep_local_commits:

  表示当前节点本机提交的事务个数


--wsrep_local_cert_failures

  表示本地节点验证失败的 次数


--wsrep_local_replays:

  表示本地做replay的次数,这个参数值越大,表示本地出错频率越高


--wsrep_local_send_queue:

  表示当前节点在等待复制的事务个数,就是发送队列的长度;如果该参数值越大,说明本地压力或网络性能有问题,可以作为监控指标;

  

--wsrep_local_send_queue_max:

  当前节点历史上等待队列最大的事务数目;


--wsrep_local_send_queue_min:

  当前节点历史上等待列最小的事务数目,一般就是0


--wsrep_local_send_queue_avg:

  当前节点自从上次flush参数之后,等待队列长度的平均值。其值越大则表示压力越大,但是这个参数中没有包括flow_control的等待;


--wsrep_local_recv_queue:

  表示当前节点从其他节点接受的队列中事务个数,这个队列与flow  control有关,如果这个值达到GCs.fc_limit值的话,就会发生flow control,本节点会向整个集群发送flow control小心,整个集群会被阻塞,二等地wsrep_local_recv_queue的值小于gcs.fc_limit*gcs.fc_factor之后,flow control解除。


--wsrep_local_recv_queue_mas:

  表示当前节点历史接收队列中事务的最大个数


--wsrep_local_recv_queue_min:

  表示当期节点历史接收队列中事务的最小个数


--wsrep_local_recv_queue_avg:

  表示当前节点历史接收队列中事务的平均个数,如果某个节点的平均值都比其他的大,则可以考虑这个机器的硬件性能是不太好,或压力造成的;


--wsrep_local_cached_downto:

  表示当前节点cache中的最小GTID值,可以决定集群中其他节点在启动时,是需要做IST还是SST。


--wsrep_flow_control_paused_ns:

  表示由于flow control消息引起的集群阻塞时间长度,单位是纳秒。这个参数不能通过flush status来重置。它的值是递增累计的;


--wsrep_flow_control_paused:

  表示从上次flush status之后开始,新产生的FC暂停时间与 从flush开始到show status like "wsrep%"命令执行的这段时间的比值,可以理解为一个暂停时间。这个值越接近0,说明系统越正常,如果差不多为1,则说明当前系统基本不能做复制了;


--wsrep_flow_control_sent:

  当一个节点的复制任务队列长度超过fc_limit时,这个节点就会给整个集群发送FC消息,这个参数表示当前节点向整个集群发送FC消息的次数,这个值越大表示这个节点做的越慢。如果这个值突增了,则说明这个节点有可能出现了问题,或这个节点负载增大了,导致apply写集变慢;


--wsrep_flow_control_recv:

  表示当前节点收到FC消息的次数。当这个参数突增时,就需要查看是哪个节点的sent值突增了,那么这个 节点就有可能存在性能问题;


--wsrep_cert_deps_distance:

  表示一个事务的GTID2和它所依赖的事务的GTID1之间差值的总和,与这段时间内所做的总的验证通过的事务(n_certified)个数的比值。


--wsrep_commit_oooe:

  这个参数的值永远是0,如果出现别的值,请看官网资料


--wsrep_commit_oool:

  这个参数的值永远是0,如果出现别的值,请看官网资料


--wsrep_commit_window:

  这个参数与上面的参数还是相关的,在每次提交时,都会检查oooe;如果这个值越大,这说明真个提交过程的顺序越乱,写入事务压力不太平衡;如果越接近1,则说明写入越有秩序,事务相对比较均匀;

 

--wsrep_apply_oooe:

  这个参数和上面oooe的道理是一样的,如果这个值很接近0,则说明这个系统的执行基本是串行的;


--wsrep_apply_oool:

  与参数wsrep_apply_oooe对应,这个参数标的含义是,如果值越大,则表示并行执行时乱序的现象越多;如果值越小,则说明基本是顺序执行的;


--wsrep_apply_window:

  这个参数值与上面的对应,这个值越大,表示并行apply事务间的GTID相差越大,这个节点的活动也就越频繁;


--wsrep_local_state:

  表示当前节点的状态,(有4个值: 1:表示正在请求加入集群,速度很快一般看不到这个状态;2:表示正在同步数据;3:表示当前节点已经加入集群;4:表示当前节点与整个集群是完全相同的)


--wsrep_local_state_comment:

  这个参数与上面参数的4个状态值一一对应的,是对上面节点值的一个描述;


--wsrep_cert_index_size:

  表示当前节点的验证队列中,总共有多少个key;


--wsrep_causal_reads:

  表示的是处理这种写集等待的次数,不过这个参数已经不用了


--wsrep_cert_interval:

  表示的是,所有事务的GTID值与它们各自可以看到的最新提交事务的GTID值之间差值的总和,与这段时间内所做的被验证通过事务的总个数的比值;


--wsrep_evs_repl_latency:

  表示GCOMM在消息传送时的复制延迟,单位是秒;采样时间通过参数evs.stats_report_period来控制,默认是PT1M


--wsrep_incoming_addresses:

  表示当前急群众,所有已经加入或正在加入集群的节点信息,格式为:IP:端口,IP:端口,可以通过该信息来做监控;


--wsrep_cluster_size:

  表示当前集群中节点的个数,与参数wsrep_incoming_addresses对应,也可以作为监控项,一般监控条件必须大于或等于3,如果是3的话,则会发生脑裂的问题;


--wsrep_local_bf_aborts:

  表示当前节点在运行过程中,由于事务的冲突,导致本地事务被主动取消的事务个数。如果这个值比较大,说明集群的写入冲突比较多,可能需要调整写入的方式,比如切换写节点等;


--wsrep_local_index:

  表示当前节点在集群中的编号。在集群中,每个节点都有一个唯一的编号,从0开始计数


--wsrep_ready:

  一个很重要的监控项,可以知道当前节点的状态是不是可以抚慰,正常情况下为ON,如果变为OFF,则可能是发生了脑裂,或者和其他节点之间的网络连不上,又或者是galera集群没有正常启动等;一般可以通过命令set global wsrep_provider_options='pc.bootstrap=yes' 来恢复,不过在执行这个命令之后,需要观察整个集群的状态,不然可能会导致这个节点在逻辑上脱离集群。这个命令的作用就是让当前节点变为primary,如果执行了,则说明确定要使用这个节点来提供服务了;

  


2、变量参数:

--wsrep_provider_options:

---cert.log_conflicts:

   在galera中,提交的每一个事务都会做验证,看看是不是有依赖关系,并坚持是不是有冲突等,发现了冲突,就由这个参数来控制是否要将冲突记录下来,从而可以通过日志查出原因或用于做一些其他的工作,日志会被记录到error_log文件中;

   

---gcache.dir:

   用来指定GCache文件的目录,只有在gcache.name参数指定的是相对路径时,这个目录才会起作用,而如果gcache.name指定的是绝对路径,则这个参数就被忽略了,如果这个参数没有指定,则会被设置为参数base_dir的值;

 

---gcache.name:

  用来指定GCache文件的名字,名字中也可以带着路径,包括绝对路径及相对路径;


---gcache.mem_size:不建议使用!官方已经弃用


---gcache.page_size:

   这个参数表示的就是新建物理文件的大小,如果一个还是不够用,则会继续新建同样大小的物理文件,而当GCache被purge之后,物理文件的GCache就会被清除,当文件中没有有效的写集内容时,文件也会被删除掉。所以只要物理文件出现,就说明GCache不够用了;


---gcache.size:不建议使用!官方已经弃用


---gcs.fc_limit:

   这个参数控制的就是接受队列达到多大时,触发FC


---gcs.fc_factor:

   这个参数表示是,接收队列在多大时,FC会解除。这个参数是一个比例,gcs.fc_limit X gcs.gc_factor的结果就是FC解除时的接收队列长度。如果小于这个长度,则FC解除;


---gcs.fc_master_slave :

   这个参数与上面两个参数是相关的,如果设置为yes,表示当前集群的使用方式为主从模式,也就是单点写入的模式,其他节点都是从节点;如果设置为no的话,说明是多点写入模式,则gcs.fc_limit最终生效的值就会发生变化。


---gcs.sync_donor:

   这个参数控制的是,在state transfer的过程中,donor是否要发送flow control消息;如果将这个参数设置为no,表示不产生flow  control,这样就是一种非阻塞式的state transfer;

 

---gmcast.listen_addr:

   这个值是用来感知其他节点的加入操作的,而新加入节点在选择donor之后会向这个地址发送消息,这就可以建立联系的;

   

---gmcast.segment:

   这个值的设置是用来在选择donor时,确定哪个节点具有优先权的,范围是0-255,值越大,优先权越高。一般都设置为0,也就是自动选择donor;


---ist.recv_addr:

   这个地址是用来设置做IST时joiner的接收地址的,默认情况下,设置为wsrep_node_address所指定的地址,端口为单独的接收端口,格式为IP:PORT


---repl.commit_order:

   这个参数控制的是galera并发控制的行为,针对的是提交操作。为了使所有节点产生的binlog完全一样,建议这个值设置为3;


---repl.max_ws_size:

   这个参数,是用来控制写集复制大小的,单位是字节;

   

---pc.bootstrap:

   这个参数可以用来将当前节点状态为不可服务状态(non-primary components)的节点,变为primary components状态的节点;一般讲这个参数的命令设置为:set  global wsrep_provider_options='pc.bootstrap=yes';,用于快速处理故障,恢复线上服务;

   

--wsrep_start_position:

  这是参数是PXC版本的Mysqld新增的一个参数,用来在节点启动时,指定当前节点最新的GTID值,或者是指定当前节点开始向集群要增量数据点的位置;


--wsrep_slave_threads:

  这个参数,是用来设置galera cluster集群中,从节点执行apply时用于做并行复制的线程个数。

---wsrep_retry_autocommit:

  这个参数是来控制事务执行行为的,如果验证失败,则每个节点应该都是验证失败的,那么每个节点都会失败,从节点在验证失败的情况下,直接忽略写集即可;而主节点是通过参数wsrep_retry_autocommit来控制,如果不为0,则当前事务(自动提交的情况下)会再执行一次,从头到尾重新执行,然后再次发送、验证等;


--wsrep_recover:

  这个参数,是用来找到某一个节点(处于shutdown状态)最新GTID值的,它只需要去innodb的ibddata的一个固定位置,找到这个GTID值,然后将其输入到日志文件中,从而可以了解最新的位置及与集群的差集;


--wsrep_on:

  这个参数用来控制当前节点的写入是不是想要复制到其他节点。默认情况下,为了保证集群的一致性,都会将一个节点的写入,复制到其他节点;

  

--wsrep_max_ws_size:

  这个参数,用来控制galera cluster在某一个节点写入事务大小,这里指的是keys及DATA二者加起来的byte数目,这是个安全性的参数;


--wsrep_max_ws_rows:

  这个参数,用来控制galera cluster在某一个节点写入事务所影响的行数。如果超过这个值,则直接抛出异常,是一种安全性的参数;

  

--wsrep_desync:

  在复制延迟的节点上设置这个参数为on,这样这个节点就会变成了一种异步复制的模式,此时主库可以一直写入,从节点也一直apply,如果接受任务队列的长度已经超过了fc.limit值,则这个从节点也不会发送flow control小心,整个集群的写入安然无恙,只是有可能从节点的数据不是最新的了,有一段时间的延迟,如果可以几首,那长期保持这样的状态也没什么不好的;如果延迟问题没有了,那就不会再出现任务堆积的情况了,这是可以再讲这个参数值设置为OFF,整个集群又保持一致了,就变成了真真正正的galera cluster;


--wsrep_cluster_address:

  这个参数,格式类似:gcomm://192.168.1.1:3306,192.168.1.2:3306,每一个节点,启动时都会通过设置这个参数来找到集群中的其他节点,指定的节点中可以是已经启动的,也可以是没有启动的,galera会自动选择并加入。建议在集群变更时尽量保证这个参数的值与集群中实际节点一致,避免在以后变更时出现不必要的麻烦;


--wsrep_OSU_method:

  这个参数是用来控制DDL执行行为的;默认情况它的值是TOI,表示在执行过程中,是全程强势有序的,并且在使用到被修改的表时,都会将其杀死,这是默认的情况,并且是最简单的方法,也推荐使用这种方法;


您可能感兴趣的文档:

--结束END--

本文标题: PXC——状态参数与变量参数

本文链接: https://www.lsjlt.com/news/36379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PXC——状态参数与变量参数
    “galera 参数解析:”1、状态参数:--wsrep_last_committed:  表示的是当前节点最新提交的事务号,也是最新galera GTID的后半部分,前半部分是参数wsrep_l...
    99+
    2022-10-18
  • MySQL需要关注的参数及状态变量解读
    目录mysql需要关注的参数及状态变量总结MySQL需要关注的参数及状态变量 open_files_limit 操作系统允许mysqld打开的文件数量。 这个值可以设置得比较大,比如50000,最好在系统初始化安装时就设...
    99+
    2023-02-08
    MySQL的参数 MySQL状态变量 MySQL变量
  • 浅析C/C++中的可变参数与默认参数
    千万要注意,C不支持默认参数 C/C++支持可变参数个数的函数定义,这一点与C/C++语言函数参数调用时入栈顺序有关,首先引用其他网友的一段文字,来描述函数调用,及参数入栈: ---...
    99+
    2022-11-15
    可变参数 默认参数
  • java可变参数(不定向参数)的作用与实例
    java可变参数的作用: 在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况。一般我们会用方法重载来解决问题: 1 //方法重载,解决参数个数不确定问题 2 publi...
    99+
    2022-11-12
  • 习题13:参数,解包,变量
    练习下面的程序,后面将看到详细解释代码如下# coding: utf-8 __author__ = 'www.py3study.com' from sys impo...
    99+
    2023-01-30
    习题 变量 参数
  • 怎么判断和修改SQL中的动态参数与静态参数
    本篇内容主要讲解“怎么判断和修改SQL中的动态参数与静态参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么判断和修改SQL中的动态参数与静态参数”吧!视图 ...
    99+
    2022-10-18
  • C语言可变参数与函数参数的内存对齐详解
    目录什么是可变参数?使用可变参数函数参数的内存对齐总结什么是可变参数? 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。 C 语言为这种情况提供了...
    99+
    2022-11-13
  • 如何理解MySQL handler相关状态参数
    如何理解MySQL handler相关状态参数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述MySQL“自古以来”都有一个神秘的HANDL...
    99+
    2022-10-19
  • MySQL handler相关状态参数有哪些呢
    今天就跟大家聊聊有关MySQL handler相关状态参数有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Ha...
    99+
    2022-10-19
  • vscode debug设置参数和环境变量
    首次,点击run->add configuration 选择python File 然后会生成.vscode/launch.json store_true类型的参数只用加上参数名, parser...
    99+
    2023-09-07
    vscode python ide
  • JavaScript处理变量命名的参数对象
    问题描述:在开发过程中,遇到一个给对象赋值的问题,参数是通过循环变量的方式进行处理。 js 重要函数 window,eval 1、window 定义全局变量。2、...
    99+
    2022-11-13
  • 不重启mysql情况修改参数变量
    https://www.cnblogs.com/huidaoli/p/3232265.html 地球人都知道,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一...
    99+
    2022-10-18
  • Python中的变量,参数和模块介绍
    目录前言1 变量2 参数3 模块前言 简单的使用python函数之后,我们在日常开发中还需要经常使用的三个地方,分别是变量、参数和模块。其中,Python的变量类型已经在语法介绍中做...
    99+
    2022-11-12
  • Linux中变量参数$的含义是什么
    本篇文章为大家展示了Linux中变量参数$的含义是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux变量参数$的含义   我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touc...
    99+
    2023-06-13
  • Python 变量教程之打包和解包参数
    目录背景 解 Packing 打包和拆包 用于字典前言: 我们使用两个运算符 *(用于元组)和 **(用于字典)。 背景  考虑这样...
    99+
    2022-11-11
  • 8、Python——python函数(函数分类以及定义与调用、参数注意事项、内建函数、参数分类、变量定义域)
    目录 1、函数的定义与调用 1.1、什么是函数 1.2、使用函数的好处 1.3、函数的定义 1.3.1、函数的赋值 2、函数参数 2.1、什么是函数参数 2.2、参数的形式 2.3、参数分类 2.3.1、参数的注意事项(⭐⭐⭐) 2.3.2...
    99+
    2023-09-21
    python 开发语言 后端
  • 如何优化MySQL参数:达到性能最佳状态
    MySQL参数优化 🐕 参数优化之 Max_connections🦌 参数优化之 key_buffer_size🐘 参数优化之 max_allo...
    99+
    2023-09-30
    mysql 数据库
  • Python函数参数传递以及变量作用域详解
    这篇文章主要介绍“Python函数参数传递以及变量作用域详解”,在日常操作中,相信很多人在Python函数参数传递以及变量作用域详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python函数参数传递以及变...
    99+
    2023-06-04
  • pytest使用parametrize将参数化变量传递到fixture
    目录一、交代应用场景二、使用@pytest.mark.parametrize、以及fixture的调用来解决1. /demo_top/conftest.py2. /demo_top/...
    99+
    2022-11-11
  • Shell常用的特殊位置参数变量说明
    $0    获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径$n    获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作