小研究 - Mysql快速全同步复制技术的设计和应用(三)

Mysql半同步复制技术在高性能的数据管理中被广泛采用,但它在可靠性方面却存在不足.本文对半同步复制技术进行优化,提出了一种快速全同步复制技术,通过对半同步数据复制过程中的事务流程设置、线程资源合理应用、批量日志应用等技术手段,在保证数据可靠性的基础上降低复制过程中的性能损失,实现了快速的全同步复制.测试结果表明,快速全同步复制技术可以在性能、可靠性和一致性方面做到很好的均衡,有效提高了Mysql存储集群的业务承载能力

目录

3 功能验证和性能测试

3.1 功能验证

3.2 性能测试

4 结语


3 功能验证和性能测试

3.1 功能验证

功能验证主要是验证在故障情况下,快速全同步复制的存储集群的事务回退,主机节点和备机节点的切换是否正常和检查数据是否丢失.测试目的:验证快速全同步复制的高可靠性.

测试环境(配置):一主两从的三节点Mysql存储集群.

参数设置:

        Fullsync_consistency_level=1;
        disable_fullsync_on_slave_ack_timeout=0;
        fullsync_relaylog_fsync_ack_level=2;

测试方法:在模拟业务系统运行的过程中,对集群执行破坏性操作,检查数据的一致性及可靠性.测试结束如表4所示.

表4的测试结果说明,快速全同步技术在各种意外故障的场景下,可以保证数据的高可靠性.

3.2 性能测试

本次测试是通过对比快速全同步和Mysql增强半同步的写入性能(在相同的配置情况下),来验证
快速全同步复制技术是否具有性能上的优势.

测试软件:Sysbench 1.0.20(using system Lua-JIT 2.1.0-beta3)

服务器配置:CPU16cores32Threads,内存:128G

存储:1 个 NVMe SSD .

软件版本及配置:
Mysql增强半同步:Server version:8.0.26 MysqlCommunity Server+半同步复制插件;
Mysql 存储集群快速全同步复制:基于 8.0.26Mysql Community Server+快速全同步功能;

数据库参数配置一致.

Sysbench 测试场景:
        场景:oltp_write_only;

        每个事务执行如下 3 种操作:

                execute_index_updates();

                execute_non_index_updates();

                execute_delete_inserts().
测试数据量:-tables=18-table-size=5000000,表占用操作系统存储空间:22 G.
测试结果:

如图4 所示的测试结果表明,快速全同步复制性能比 Mysql 半同步(Semi _ sync)在性能上提升约10%.

4 结语

Mysql的传统复制技术在不同的场景下已经获得广泛使用,但依然存在可靠性和复制性能二者不能兼得的问题.本文研究的快速全同步复制技术弥补了传统复制技术的不足,通过线程池和批量应用日志等技术的合理应用,在性能和可靠性等方面获得提升,通过测试验证,在保证数据可靠性基础上快速全同步技术的性能比Mysql半同步复制技术有较大的提升,这在分布式数据库某些场景下具有一定的应用价值.但快速全同步技术并没有对复制延迟的指标和影响做深入分析和研究 . 因此,在具体应用快速全同步技术过程中,如果业务对复制延迟有严格要求,需要评估后再根据实际情况使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55409.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL的索引使用的数据结构,事务知识

一、索引的数据结构🌸 索引的数据结构(非常重要) mysql的索引的数据结构,并非定式!!!取决于MySQL使用哪个存储引擎 数据库这块组织数据使用的数据结构是在硬盘上的。我们平时写的代码是存在内存…

【计算机网络】12、frp 内网穿透

文章目录 一、服务端设置二、客户端设置 frp :A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet。是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且…

SQL分类及通用语法数据类型(超详细版)

一、SQL分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库…

从URL取值传给后端

从URL传值给后端 http://127.0.0.1:8080/blog_content.html?id8点击浏览文章详情,跳转至详情页面 从 url 中拿出文章 id,传给后端 首先拿到url然后判断是否有值,从问号后面取值params.split(&) 以 & 作为分割然后遍历字符数组 param…

前端个人年度工作述职报告(二十篇)

前端个人年度工作述职报告篇1 尊敬的各位领导、各位同仁: 大家好!按照20__年度我公司就职人员工作评估的安排和要求,我认真剖析、总结了自己的工作情况,现将本人工作开展情况向各位领导、同仁做以汇报,有不妥之处,希…

faac内存开销较大,为方便嵌入式设备使用进行优化(valgrind使用)

faac内存开销较大,为方便嵌入式设备使用进行优化,在github上提了issues但是没人理我,所以就搞一份代码自己玩吧。 基于faac_1_30版本,原工程https://github.com/knik0/faac faac内存优化: faac内存开销较大,为方便嵌入…

智能卡通用安全检测指南 思度文库

范围 本标准规定了智能卡类产品进行安全性检测的一般性过程和方法。 本标准适用于智能卡安全性检测评估和认证。 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,…

Android 刷新与显示

目录 屏幕显示原理: 显示刷新的过程 VSYNC机制具体实现 小结: 屏幕显示原理: 过程描述: 应用向系统服务申请buffer 系统服务返回一个buffer给应用 应用开始绘制,绘制完成就提交buffer,系统服务把buffer数据…

七、Spring 面向切面编程(AOP)学习总结

文章目录 一、初识面向切面编程(AOP)1.1 什么是 AOP1.2 AOP的应用场景1.3 Aop 在 Spring 中的作用1.3.1 Aop 的核心概念 1.4 使用 Spring 实现 AOP1.4.1 方式一:使用 Spring API 接口实现 AOP 【主要是SpringAPI接口实现】1.4.2 方式二&#…

Huggingface使用

文章目录 前置安装Huggingface介绍NLP模块分类transformer流程模块使用详细讲解tokennizermodeldatasetsTrainer Huggingface使用网页直接体验API调用本地调用(pipline)本地调用(非pipline) 前置安装 anaconda安装 使用conda创建一个新环境并安装pytorc…

Django之JWT库与SimpleJWT库的使用

Django之JWT库与SimpleJWT库的使用 JWTJWT概述头部(header)载荷(payload)签名(signature) Django使用JWT说明jwt库的使用安装依赖库配置settings.py文件配置urls.py文件创建视图配置权限 SimpleJWT库的使用安装SimpleJWT库配置Django项目配置路由创建用户接口测试身份认证自定义…

2023年华数杯数学建模C题思路代码分析 - 母亲身心健康对婴儿成长的影响

# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…