MariaDB 10之并行复制--延迟测试结果

测试参数:

sysbench  --test=/root/sysbench0.5/sysbench/tests/db/insert.lua 
--mysql-table-engine=innodb --oltp-table-size=1000000 
--max-requests=0 --max-time=300 --num-threads=16 
--oltp-tables-count=10 --report-interval=10 
--mysql-host=10.8.8.100 --mysql-port=3312 --mysql-user=admin 
--mysql-password=123456  --mysql-db=test run

10张100万行表,并发16个线程,纯插入操作。

MySQL参数:

sync_binlog = 0
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_flush_neighbors = 1
innodb_buffer_pool_size = 10G
innodb_io_capacity = 500
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_log_buffer_size = 16M

普通复制延迟:

              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 567748597
               Relay_Log_File: host-100-relay-bin.000005
                Relay_Log_Pos: 66853042
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 469504741

还剩1117MB没追完

MariaDB [(none)]> select 1024-469504741/1024/1024+567748597/1024/1024;
+----------------------------------------------+
| 1024-469504741/1024/1024+567748597/1024/1024 |
+----------------------------------------------+
|                                1117.69264221 |
+----------------------------------------------+
1 row in set (0.00 sec)

并行复制(8个并发线程,未开启GTID模式)延迟:

              Master_Log_File: mysql-bin.000022
          Read_Master_Log_Pos: 333773843
               Relay_Log_File: host-100-relay-bin.000073
                Relay_Log_Pos: 134217580
        Relay_Master_Log_File: mysql-bin.000021
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 722396020

还剩653MB没追完

MariaDB [(none)]> select 1024-722396020/1024/1024+333773843/1024/1024;
+----------------------------------------------+
| 1024-722396020/1024/1024+333773843/1024/1024 |
+----------------------------------------------+
|                                 653.38101101 |
+----------------------------------------------+
1 row in set (0.00 sec)

并行复制(8个并发线程,开启GTID模式)延迟:

              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 365095829
               Relay_Log_File: host-100-relay-bin.000008
                Relay_Log_Pos: 134217572
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 811005100

还剩598MB没追完

MariaDB [(none)]> select 1024-811005100/1024/1024+365095829/1024/1024;
+----------------------------------------------+
| 1024-811005100/1024/1024+365095829/1024/1024 |
+----------------------------------------------+
|                                 598.74778080 |
+----------------------------------------------+
1 row in set (0.00 sec)

结论:

在我这个测试中,并行复制的速度要快于普通复制的两倍多。


MariaDB 10之并行复制--延迟测试结果

时间: 2024-10-12 15:41:10

MariaDB 10之并行复制--延迟测试结果的相关文章

MariaDB Parallel Replication 并行复制

官方文档: https://mariadb.com/kb/en/mariadb/parallel-replication 从10.0.5版本开始,MariaDB开始支持并行复制 MariaDB10.0的从服务器能并行的执行查询和复制操作,这篇文章将会解释是如何实现的和你可以做的调优. 注意:主从服务器上的 MariaDB 的版本必须是10.0.5和10.0.5的以后的版本,才能启用并行复制 Parallel replication overview -- 并行复制概述 MariaDB 的复制通过

mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法

mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法 官方mysql一个slave只能对应一个master,mariadb 10开始支持多源复制,一个slave可以有多个master,分别从各自的master复制不同的DB. 这个特性可以用在OLAP环境中,传统电商DB都是拆了再拆,分库分表,sharding,而OLAP环境或者大数据平台环境,通常需要各种数据的聚合,多个平台多个DB数据的复合查询,而这些数据分散在各个库中,怎么办了,当

PostgreSQL数据库Streaming Replication流复制主备延迟测试

PostgreSQL数据库流复制主库和备库之间的延迟时间是多少,无论对HA还是负载均衡来说都应该做个评估.比如单纯的HA架构,当主库发生故障时,我们允许多少时间内的数据丢失.不废话,直接进入本次实验测试. 测试环境: 主库:内存:32G,CPU:8核,IP:192.168.122.101 备库:内存:32G,CPU:8核,IP:192.168.122.102 数据库配置:默认 测试准备: 在两台服务器上安装好PostgreSQL数据库,安装过程不清楚的可以参考文章<PostgreSQL数据库编译

MariaDB 10 Slave Crash-Safe需转为GTID复制模式

之前写了一篇<MySQL5.6 crash-safe replication> ,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository = TABLE参数,官网建议用GTID复制模式代替传统复制模式,传统复制模式是不支持Slave Crash-Safe的. 在mysql库下,会有一张gtid_slave_pos表(在安装初始化时,就已经是innodb引擎) START TRANSACTION; -- Statement 1 -- ... -- 

MariaDB 10.3 主从半同步复制

本文介绍MariaDB主从半同步复制,以上一篇<MariaDB 10.3 主从复制>为基础,介绍主从半同步复制配置. 1. 简介 MariaDB从10.3.3开始已经把半同步插件加入到Server中,因此在配置主从半同步时,不再需要加载插件,本文所用的MariaDB版本为10.3.7. 2. 查看半同步复制参数 MariaDB01主 MariaDB02从 3. 启动半同步复制 MariaDB01 master启用命令:SET GLOBAL rpl_semi_sync_master_enable

InnoSQL/MySQL并行复制的实现与配置

InnoSQL/MySQL并行复制的实现与配置 http://www.innomysql.net/article/6276.html 并行复制之前的解决方案 InnoSQL在5.5.30-v4版本中支持了从机并行复制的功能.总所周知,MySQL数据库slave服务器延迟的现象是非常普遍的,这导致了虽然对比Oracle.Microsoft SQL Server,MySQL复制允许从机进行SELECT操作,但是在实际线上环境下,由于从机延迟的关系,很难将读取操作转向到从机.这就导致了有了以下一些潜规

MySQL 5.7 并行复制实现原理与调优

MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持“真正”的并行复制功能,官方称为为enhanced multi-threaded slave(简称MTS),因此复制延迟问题已经得到了极大的改进,甚至在Inside君所在的网易电商应用中已经完全消除了之前延迟长达几小时的问题.然而,Inside君发现还是有很部分小伙伴不了解这个足以载入史册的“伟大”的特性,故作分享.总之,

利用MariaDB Galera Cluster实现mariadb的多主复制

利用MariaDB Galera Cluster实现mariadb的多主复制 时间:2014年01月08日 | 分类:MariaDB | 评论:0 条 | 浏览:870 次 一.MariaDB Galera Cluster概要: 1.简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的系统架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到 各个节点上去.在数据方面完全兼容 MariaD

总结一下,MariaDB 10(MySQL5.6企业版分支)的主要新特性

① 支持48核的CPU,而5.5支持24核的CPU ② 内存热数据持久化,我们知道当系统重启或者mysql进程重启后,Innodb的内存池里面的热数据全部清空,需要重新把磁盘的数据缓存进来,然后根据 LRU最近最少使用原则,把热数据保持在内存里,冷数据踢出到磁盘里.这个过程是缓慢的.5.6里改进了这一点,会自动把内存的热数据导出到磁盘里,这样 mysql重启后,会立即从磁盘里导入Innodb内存池,减少了与磁盘IO的交互. ③ 在线DDL功能.5.5版本里,修改表结构会导致锁表,例如用户进件会卡