MySQL5.7 GR VS MariaDB10.1.19 Galera Cluster性能压测

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

MySQL5.7 GR VS MariaDB10.1.19 Galera Cluster性能压测
视频演示:http://pan.baidu.com/s/1sk87tfB


工具sysbench0.5 128并发 10张表100万行

硬件配置R720 64G RAID10(SAS 15000转)

192.168.143.244 gr(primary-3306端口)     Galera(secondary-3308端口)
192.168.143.245 gr(secondary-3306端口)   Galera(primary-3308端口)
192.168.143.246 gr(secondary-3306端口)   Galera(secondary-3308端口)

我们这里纯粹是为了跑性能。

gr我关闭了限流group_replication_flow_control_mode = 'DISABLED'。因数据复制是通过binlog,这里我采用基于表的并行复制,slave_parallel_type = 'LOGICAL_CLOCK',开启并行复制线程slave_parallel_workers设置了24个线程。


Galera我将gcs.fc_limit设置了1000K,调整成最大,避免限流。开启并行复制线程wsrep_slave_threads设置了24个线程。

gr压测192.168.143.244,Galera压测192.168.143.245。BP都是30G

下面废话不多说,看视频演示,数据说话!

--------------------------------------------------------------------------------
GR
[  10s] threads: 128, tps: 768.46, reads: 10937.14, writes: 2339.68, response time: 335.94ms (95%), errors: 0.00, reconnects:  0.00
[  20s] threads: 128, tps: 1009.40, reads: 14132.12, writes: 3031.30, response time: 214.42ms (95%), errors: 0.00, reconnects:  0.00
[  30s] threads: 128, tps: 1060.00, reads: 14840.01, writes: 3179.30, response time: 195.94ms (95%), errors: 0.00, reconnects:  0.00
[  40s] threads: 128, tps: 1042.69, reads: 14597.30, writes: 3129.28, response time: 203.54ms (95%), errors: 0.00, reconnects:  0.00
[  50s] threads: 128, tps: 1083.11, reads: 15163.89, writes: 3249.42, response time: 189.03ms (95%), errors: 0.00, reconnects:  0.00
[  60s] threads: 128, tps: 979.30, reads: 13710.20, writes: 2938.00, response time: 210.79ms (95%), errors: 0.00, reconnects:  0.00
[  70s] threads: 128, tps: 974.39, reads: 13641.44, writes: 2922.97, response time: 199.02ms (95%), errors: 0.00, reconnects:  0.00
[  80s] threads: 128, tps: 762.01, reads: 10593.03, writes: 2267.93, response time: 360.43ms (95%), errors: 0.00, reconnects:  0.00
[  90s] threads: 128, tps: 960.30, reads: 13519.30, writes: 2897.30, response time: 286.83ms (95%), errors: 0.00, reconnects:  0.00
[ 100s] threads: 128, tps: 1015.30, reads: 14214.20, writes: 3046.30, response time: 188.41ms (95%), errors: 0.00, reconnects:  0.00


--------------------------------------------------------------------------------------
Galera
[  10s] threads: 128, tps: 1207.93, reads: 17081.43, writes: 3656.79, response time: 113.88ms (95%), errors: 0.00, reconnects:  0.00
[  20s] threads: 128, tps: 1302.00, reads: 18227.01, writes: 3904.70, response time: 112.76ms (95%), errors: 0.00, reconnects:  0.00
[  30s] threads: 128, tps: 1287.10, reads: 18021.19, writes: 3863.00, response time: 112.79ms (95%), errors: 0.00, reconnects:  0.00
[  40s] threads: 128, tps: 1279.60, reads: 17913.70, writes: 3839.20, response time: 114.97ms (95%), errors: 0.00, reconnects:  0.00
[  50s] threads: 128, tps: 1289.80, reads: 18058.41, writes: 3869.70, response time: 114.46ms (95%), errors: 0.00, reconnects:  0.00
[  60s] threads: 128, tps: 1275.20, reads: 17850.90, writes: 3824.90, response time: 116.12ms (95%), errors: 0.00, reconnects:  0.00
[  70s] threads: 128, tps: 1243.30, reads: 17406.47, writes: 3729.99, response time: 118.15ms (95%), errors: 0.00, reconnects:  0.00
[  80s] threads: 128, tps: 1287.20, reads: 18020.37, writes: 3861.19, response time: 114.08ms (95%), errors: 0.00, reconnects:  0.00
[  90s] threads: 128, tps: 1283.20, reads: 17967.07, writes: 3850.01, response time: 114.70ms (95%), errors: 0.00, reconnects:  0.00
[ 100s] threads: 128, tps: 1261.30, reads: 17656.79, writes: 3783.50, response time: 117.41ms (95%), errors: 0.00, reconnects:  0.00


总结

GR和Galera的性能不及半同步复制,如果您对性能要求较高,数据一致性不太在意,建议用MariaDB 10.1.X Loss-Less Semi  replication+MHA高可用架构。


关于GR和Galera,在部署生产环境中多做几次压测,选择一款适合您的。




















本文转自hcymysql51CTO博客,原文链接:http://blog.51cto.com/hcymysql/1889706 ,如需转载请自行联系原作者



相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
23天前
|
关系型数据库 MySQL
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-01
【4月更文挑战第18天】MySQL的InnoDB引擎支持行锁,而MyISAM只支持表锁。行锁在事务开始时添加,事务结束时释放,遵循两阶段锁协议。为减少锁冲突影响并发,应将可能导致最大冲突的锁操作放在事务最后。例如,在电影票交易中,应将更新影院账户余额的操作安排在事务末尾,以缩短锁住关键行的时间,提高系统并发性能。
15 4
|
1月前
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
53 0
|
2月前
|
测试技术
性能场景之压测策略设计
【2月更文挑战第19天】性能场景之压测策略设计
306 4
性能场景之压测策略设计
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1月前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
5天前
|
存储 算法 关系型数据库
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
|
6天前
|
存储 SQL 关系型数据库
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
以小白的视角探究MySQL索引条件下推ICP的优化,其中包括server层与存储引擎层如何交互、索引、回表、ICP等内容
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
|
7天前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
|
14天前
|
关系型数据库 MySQL 测试技术
sysbench 对MySQL压测100分钟的命令
使用 `sysbench` 对 MySQL 数据库进行性能测试(压测)时,首先确保 `sysbench` 和 MySQL 数据库已经安装,并且你有一个测试数据库可以使用。下面是一个针对 MySQL 数据库进行压测的示例命令,测试时长为 100 分钟(6000 秒)。 在运行此命令之前,请确保以下内容: - 使用适当的数据库连接参数(主机、端口、用户名、密码、数据库名)。 - 根据你的需求调整测试参数(如并发数、线程数、事务数等)。 以下是一个示例命令,使用 `sysbench` 对 MySQL 数据库进行压测 100 分钟: ```shell sysbench --db-driver=m
|
17天前
|
缓存 关系型数据库 MySQL
【专栏】提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理
【4月更文挑战第27天】本文探讨了提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理。通过合理使用B-Tree和哈希索引,避免过度索引,以及优化查询语句和利用查询缓存,可以改善性能。事务管理中,应减小事务大小并及时提交,以保持系统效率。主从或双主复制可增强高可用性。综合运用这些方法,并根据实际需求调整,是优化MySQL的关键。