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

news2025/1/23 17:36:54

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.coloradmin.cn/o/842797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全(黑客)工作篇

一、网络安全行业的就业前景如何? 网络安全行业的就业前景非常广阔和有吸引力。随着数字化、云计算、物联网和人工智能等技术的迅速发展,网络安全的需求持续增长。以下是网络安全行业就业前景的一些关键因素: 高需求:随着互联网的…

Segment Anything【论文翻译】

文章目录 论文基础信息如下Abstract1. Introduction2. Segment Anything Task3. Segment Anything Model4. Segment Anything Data Engine5. Segment Anything Dataset6. Segment Anything RAI Analysis7. Zero-Shot Transfer Experiments7.1. Zero-Shot Single Point Valid Ma…

numpy 转换成 cupy 利用GPU执行 错误

ModuleNotFoundError: No module named cupy._core. routines_sorting 提示缺少包 使用 pyinstaller -D views.py --nocons 可以正常打包出来 但是运行出现报错 说明这个打包工具 忽略了很多 隐式导入的包 解决方法很简单 hiddenimports [fastrlock, fastrlock.rlock, cu…

F5洞察2023年网络威胁,助力网络安全防护

2023已经过半,关于网络安全防护的相关讨论话题热度始终居高不下。对于网络安全领域的从业者来说,应当对相关的前瞻分析有所了解。前段时间,我阅读了F5 安全运营中心工程师对威胁网络安全的预测,深受启发,故此选取了几则…

17款奔驰S400升级原厂前排座椅通风系统,夏天必备的功能

通风座椅的主动通风功能可以迅速将座椅表面温度降至适宜程度,从而确保最佳座椅舒适性。该功能启用后,车内空气透过打孔皮饰座套被吸入座椅内部,持续时间为 8 分钟。然后,风扇会自动改变旋转方向,将更凉爽的环境空气从座…

时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预…

uniapp 微信小程序 分包

1、manifest.json内添加如图所示: "optimization" : {"subPackages" : true },2、在与pages同级上创建各个分包的文件夹 把需要分包的文件对应移入分包文件夹内 3、page.json内修改分包文件的路径 比如: {"path" : &qu…

【从零开始学习JAVA | 第四十篇】了解线程池

目录 前言: 线程池: 线程池的工作流程: 代码实现线程池: 任务拒绝策略: 线程池多大才算合适? 总结: 前言: 在Java编程中,线程池是一个强大的工具,它能…

CentOS下ZLMediaKit的可视化管理网站MediaServerUI使用

一、简介 按照 ZLMediaKit快速开始 编译运行ZLMediaKit成功后,我们可以运行其合作开源项目MediaServerUI,来对ZLMediaKit进行可视化管理。通过MediaServerUI,我们可以实现在浏览器查看ZLMediaKit的延迟率、负载率、正在进行的推拉流、服务器…

摄影入门基础笔记

1.认识相机,传感器和镜头 微单相机和单反相机 运动相机、卡片机 微单和单反的区别? 微单的光学结构少了反光板的结构以及棱镜的结构 DSLR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCSYr2Ob-1691407493645)(https:/…

呼叫中心系统管理和优化的关键指标

呼叫中心系统是企业客户服务的重要组成部分,通过电话、邮件、社交媒体等渠道与客户进行沟通和交互。如何管理和优化呼叫中心系统,提高客户满意度和工作效率,是每个企业都需要关注和解决的问题。以下是呼叫中心系统管理和优化的关键指标。 1. …

C语言假期作业 DAY 15

一、选择题 1、有如下代码,则 *(p[0]1) 所代表的数组元素是( ) int a[3][2] {1, 2, 3, 4, 5, 6}, *p[3]; p[0] a[1]; A: a[0][1] B: a[1][0] C: a[1][1] D: a[1][2] 答案解析 正确答案: C p 是一个指针数组, p[0] a…

【Github】Uptime Kuma:自托管监控工具的完美选择

简介: Uptime Kuma 是一款强大的自托管监控工具,通过简单的部署和配置,可以帮助你监控服务器、VPS 和其他网络服务的在线状态。相比于其他类似工具,Uptime Kuma 提供更多的灵活性和自由度。本文将介绍 Uptime Kuma 的功能、如何使…

Leetcode周赛 | 2023-8-6

2023-8-6 题1体会我的代码 题2我的超时代码题目体会我的代码 题3体会我的代码 题1 体会 这道题完全就是唬人,只要想明白了,只要有两个连续的数的和,大于target,那么一定可以,两边一次切一个就好了。 我的代码 题2 我…

JavaScript |(七)BOM及JSON简介 | 轮播图 | 尚硅谷JavaScript基础实战

学习来源:尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版 系列笔记: JavaScript |(一)JavaScript简介及基本语法JavaScript |(二)JavaScript自定义对象及函数JavaScript |(三&#xff…

【JavaEE】Spring Boot - 日志文件

【JavaEE】Spring Boot 开发要点总结(3) 文章目录 【JavaEE】Spring Boot 开发要点总结(3)1. 日志有什么作用2. 日志格式2.1 日志框架原理 3. 日志的打印3.1 System.out.println3.2 使用日志框架3.3 日志级别3.3.1 设置默认日志显…

论文阅读---《Unsupervised T ransformer-Based Anomaly Detection in ECG Signals》

题目:基于Transformer的无监督心电图(ECG)信号异常检测 摘要 异常检测是数据处理中的一个基本问题,它涉及到医疗感知数据中的不同问题。技术的进步使得收集大规模和高度变异的时间序列数据变得更加容易,然而&#xff…

Unity 中检测射线穿过的所有的物体

在开发中 有个需求,射线要检测所有穿过的物体。 代码如下: using UnityEngine;public class HitCollider : MonoBehaviour {public float raycastDistance Mathf.Infinity;// Update is called once per framevoid Update(){Ray ray Camera.main.Scre…

GIT-HUB上传大文件.docx

下载git Github上传大文件(>25MB)教程_UestcXiye的博客-CSDN博客 上传流程 https://blog.csdn.net/weixin_35770067/article/details/116564429?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Ed…

WebRTC | 音视频直播客户端框架

端到端通信互动技术可分解为以下几个技术难点:客户端技术、服务器技术、全球设备网络适配技术和通信互动质量监控与展示技术。 一、音视频直播 音视频直播可分成两条技术路线:一条是以音视频会议为代表的实时互动直播;另一条是以娱乐直播为代…