MySQL PXC集群大事务提交超限
研发人员在测试大事务提交时遇见了错误:
Got error 5 - 'Transaction size exceed set threshold' during COMMIT
测试了几次都是1200S的时候停止的,不过在注释掉特定步骤后,过程还是在1200S失去连接了,不知道这个1200S的执行参数是哪个,可能这个1200s的执行参数是关键,因为看 wsrep_max_ws_size 最大提交量是2G,理论上应该是够用的。
通过以下查询方式,也只能查出这个2G的限制:
show variables like '%max%';
show variables like '%timeout%';
select @@wsrep_max_ws_size;
show variables where variable_name like '%size%';
show variables where value like '%1200%';
show status where value like '%1200%';
没找到如何设置1200S这个超时限制。
因此建议研发人员用如下方式临时设置 max_ws_size 参数:
set global wsrep_max_ws_size=1024*1024*1024*4;
然后重连数据库,再次测试一下大事务是否有效,如果有效的话,可择机改数据库配置。
另,强烈建议修改提交逻辑,减小每次事务提交大小,控制在1G以内,因为在1G-2G之间,按照官方说法,可能回遭遇bug。
附录:以下是在官方社区的提问及回复。
社区提问:
When I execute my proceduer, 1200 seconds later, I got an error like this:
Got error 5 - 'Transaction size exceed set threshold' during COMMIT
wsrep_max_ws_size
mysql> select @@wsrep_max_ws_size;
+---------------------+
| @@wsrep_max_ws_size |
+---------------------+
| 2147483647 |
+---------------------+
But my trx size is small, less than 2G.
Is there some other limits about the “Transaction size” in PXC 8.0 ?
Where can I set the timeout more than 1200 seconds?
Thanks a lot.
官方回复:
Is your transaction less than 2GB but larger than 1GB? If so, you might be hitting some internal C function limitations that can’t handle data objects larger than 1GB.
Since you are using PXC 8, you should take a look at the new streaming transaction option available.
MySQL PXC集群大事务提交超限的更多相关文章
- MySQL PXC集群安装配置
1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...
- docker中mysql pxc集群
PXC集群 https://hub.docker.com/r/percona/percona-xtradb-cluster 安装PXC镜像 下载镜像或者导入本地镜像 docker pull perco ...
- MySQL PXC集群部署
安装 Percona-XtraDB-Cluster 架构: 三个节点: pxc_node_0 30.0.0.196 pxc_node_1 30.0.0.198 pxc_node_2 30.0.0.19 ...
- docker 中搭建 mysql pxc 集群
一.docker中创建pxc 容器 1.拉取PXC 镜像 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改镜像名称为pxc t ...
- mysql PXC集群方案总结
同时写集群内的所有机器 写性能依赖最慢的那个机器 读性能提高X倍
- docker mysql pxc集群(percona-xtradb-cluster)
docker pull percona/percona-xtradb-cluster docker tag percona/percona-xtradb-cluster pxc docker netw ...
- Docker搭建MySQL的PXC集群
原文:Docker搭建MySQL的PXC集群 一.简介 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galer ...
- MySQL之PXC集群搭建
一.PXC 介绍 1.1 PXC 简介 PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实 ...
- MySQL数据库高可用集群搭建-PXC集群部署
Percona XtraDB Cluster(下文简称PXC集群)提供了MySQL高可用的一种实现方法.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. PXC原理描述: 分布式 ...
- 用6个案例说明如何恢复PXC集群
原文链接:https://blog.csdn.net/zengxuewen2045/article/details/51868976 1. 案例一:三个节点,关闭一个 由于维护和配置变更等工作需要 ...
随机推荐
- 基于drawio构建流程图编辑器
基于drawio构建流程图编辑器 drawio是一款非常强大的开源在线的流程图编辑器,支持绘制各种形式的图表,提供了Web端与客户端支持,同时也支持多种资源类型的导出. 描述 在我们平时写论文.文档时 ...
- Windows服务启动exe无界面终极解决方案
1.前言 我这个方案(C#操作)是彻底解决[从Windows服务启动程序exe,程序无界面]问题的终极解决方案,终极方案,绝对的终极方案,本来打算收钱的,还是算了,你们也不容易,关注我一下就行.后 ...
- 2023-07-04:给定一个数组A, 把它分成两个数组B和C 对于数组A每个i位置的数来说, A[i] = B[i] + C[i] 也就是一个数字分成两份,然后各自进入B和C 要求B[i], C[i
2023-07-04:给定一个数组A, 把它分成两个数组B和C 对于数组A每个i位置的数来说, A[i] = B[i] + C[i] 也就是一个数字分成两份,然后各自进入B和C 要求B[i], C[i ...
- ISP-长短曝光融合生成HDR图像
1.高动态范围图像相关 图像的动态范围是指一幅图像中量化的最大亮度与最小噪声的比值.高动态范围HDR(high dynamic range)图像,能够完整表示真实场景中跨度很大的动态范围.采用普通CM ...
- 修改docker容器端口映射
原文地址 操作步骤如下 关闭docker systemctl stop dokcer 修改配置文件 位置一般是: /var/lib/docker/containers/containerId/host ...
- Avalonia项目打包安装包
Avalonia项目打包安装包 要将 Avalonia 项目打包成安装包,你可以使用 Avalonia 发布工具来完成 1.创建一个发布配置文件 在你的 Avalonia 项目中,创建一个发布配置文件 ...
- 【WebGL系列-03】获取shader变量地址及赋值
获取shader变量地址及赋值 上一节创建了WebGL程序对象,创建好program对象后,对象中包含顶点着色器和片元着色器,着色器中含有变量,我们需要对其进行赋值后才能够进行绘制. 着色器代码如下: ...
- 《HelloGitHub》第 88 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- 这些年写过的花式sql - 第一句 删除重复无效的记录
这些年写过的花式sql - 第一句 删除重复无效的记录 写好复杂sql可以减少代码量,经过写这些年的后台统计,我学着像写代码一样的设计和尝试sql.现整理如下: 本来想一次性写完的,不过那写起来和看起 ...
- nodejs端模块化方式comomjs详解
nodejs端实现模块化的方式通常是通过commonjs,使用模块化可以复用js代码,使得逻辑结构更为清晰. commonjs的语法规则如下通过 module.exports 或者 exports 导 ...