MySQL企业版与社区版的性能究竟有何差异?

点击标题下「蓝色微信名」可快速关注

很多数据库都提供免费版和收费版,有的叫社区版和企业版,从名字就能推断,如果是企业用途,无论从支持上,还是license版权上,需要选择企业版,如果是个人学习,社区版就够了。

徐老师的这篇文章《MySQL企业版与社区版的性能有差异吗?》给我们讲解了企业版和社区版的性能方面究竟有何差异,这可能是很多朋友关注的问题,也是疑问最多的问题。

经常会被问到MySQL的企业版和社区版究竟有何不同?通常的回答是企业版提供了企业级的安全组件、独立安装的工具和原厂提供的售后服务。但毕竟有些用户是非常认真的,下一个问题往往就是,如果单纯比较MySQL数据库服务器的性能,企业版是否会更好?按照以往的回答方式是,性能更好,但是具体提升了多少,没有数字的量化是没有说服力的,但这一次不一样了,从MySQL 8.0.35开始,MySQL的工程团队在企业版上显著提升了性能,并且进行了相关对比测试,如下所示。

测试采用sysbench,它是一个广泛用于数据库基准测试的工具,特别是对于MySQL, sysbench的一个改编被用来在MySQL数据库上运行各种OLTP工作负载。在这次测试中,执行了四个不同的sysbench测试,每个测试捕获一个特定的OLTP工作负载特征。

1. OLTP RO: 只读模式,其中不执行UPDATE、DELETE或INSERT查询。查询组合包括,

  * 10 x POINT_SELECT

  * 1 x SELECT_SIMPLE_RANGES

  * 1 x SELECT_SUM_RANGES

  * 1 x SELECT_ORDER_RANGES

  * 1 x SELECT_DISTINCT_RANGES

2. POINT_SELECT: 多点选择SQL查询。

3. OLTP RW: 读和写SQL查询的混合。查询组合包括,

  * 10 x POINT_SELECT

  * 1 x SELECT_SIMPLE_RANGES

  * 1 x SELECT_SUM_RANGES

  * 1 x SELECT_ORDER_RANGES

  * 1 x SELECT_DISTINCT_RANGES

  * 1 x UPDATE_KEY

  * 1 x UPDATE_NO_KEY

  * 1 x UPDATE_KEY

  * 1 x INSERT

  * 1 x DELETE

4. UPDATE_KEY: 包含多个更新索引的SQL查询。

测试方法

  • InnoDB缓冲池大到足以容纳整个数据集。

  • Sysbench数据由8个表组成,每个表有1000万行,总共有8000万行。总数据大小为20GB。

  • 对于每个场景,运行一个预热,然后是5分钟的sysbench负载,重复3次以计算平均事务数/秒。

  • 测试使用64、128、256、512和1024个客户端连接/线程运行。

  • 硬件包括带有Intel E5-2699 v4 CPU的2插槽服务器(44核@ 2.20 GHz, 88个CPU线程)。

  • 操作系统:Oracle Linux 7.9

配置细节

  • 数据集

    • Sysbench load. 8 张表 每个有1000万行。总计8000万行

    • 数据大小20GB。数据完全缓存在缓冲池中。

  • 硬件

    • Oracle Linux server release 7.9

    • Kernel 5.4.17-2012.201.3.el7uek,x86_64

    • 内存515.91GB

  • MySQL配置

[mysqld]
## Server ##
back_log=0
disable-log-bin
max_connections=1200
max_prepared_stmt_count=100000
log_error_verbosity=3
thread_cache_size=1200


## Innodb ##
innodb_buffer_pool_instances=16
innodb_buffer_pool_size=128G
innodb-change-buffering=none
innodb_io_capacity_max=12000
innodb_io_capacity=10000
innodb_log_files_in_group=16
innodb_log_file_size=1G
innodb_numa_interleave=ON
innodb_page_cleaners=16
innodb_read_io_threads=16
innodb_write_io_threads=4
innodb_undo_log_truncate=OFF
range_alloc_block_size=16384

测试结果

85ff94e6f919f4381939eef4d81a4e44.png

在所有测试的线程配置中,企业版的平均提升为24%。

c2cd996f50f53f65ee06d282f7c6f455.png

在所有测试的线程配置中,企业版的平均提升为34%。

b3e0b2ee54170079e31625d8d1896bc5.png

在所有测试的线程配置中,企业版的平均提升为26%。

963acc1055f4fc16e7279fa17216f3b7.png

在所有测试的线程配置中,企业版的平均提升为21%。

因此

通过基准测试的结果,MySQL企业版对比社区版在性能方面有显著的提升,这样的企业版是不是你心中理想的MySQL?

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,

dc9b0357e9781556a469a7551e78c7b1.gif

近期更新的文章:

中日战前寄语:纵有疾风起,不能轻言弃!

金融行业自动化运维安全性与合规性难点的讨论

Redis的适用场景

最近碰到的一些问题

InnoDB启动配置的细致讲解

热文鉴赏:

中国队“自己的”世界杯

你不知道的C罗-Siu庆祝动作

架构设计的15个关键概念

大阪环球影城避坑指南和功略

推荐一篇Oracle RAC Cache Fusion的经典论文

"红警"游戏开源代码带给我们的震撼

文章分类和索引:

公众号1500篇文章分类和索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值