mysql innodb_doublewrite_MySQL性能测试 : 新的InnoDB Double Write Buffer

测试负载场景

配置信息

128G 缓冲池

64G 缓冲池

32G缓冲池

总结

附录

my.cnf

15.6.4 Doublewrite Buffer

原文链接:http://dimitrik.free.fr/blog/posts/mysql-80-perf-new-dblwr.html

作者:Dimitri

译者:孟维克

新的 MySQL 8.0.20版本重新设计了InnoDB Double Write(DBLWR),确实是一个大的历史烦人的事情。为什么在过去这么痛苦,让我们付出了这么多精力,我无法更好地解释,因为从2018年开始,我已经在下面一篇关于MySQL基于IO负载的文章中说过了。这个故事并不完整,因为它缺少2019年的那一篇(稍后再讲),但是如果你(重新)读过上面的这篇文章提到的内容,您会更好理解接下来的内容。

但至少现在这篇文章是关于好消息的——新的DBLWR以及它如何帮助解决历史上MySQL性能问题!由于一张图片胜过百万字,我将尽量节省三百万字(因为本文中有三张图片)

我会跳过所有的新的设计细节(我认为Sunny会更好的第一手解释所有的)——我只会提到以下内容:

DBLWR不再是“系统表空间”的一部分,可以被放置在任何地方(如果您有可能使用不同的存储存放DBLWR文件,您完全可以摆脱DBLWR对您主存储的影响),但默认情况下,DBLWR和您的数据存储在相同的目录下。

您可以配置想要使用多少个DBLWR文件

以及每个DBLWR文件有多少页(这也与最终的DBLWR文件大小直接相关)

更多配置选项的详细内容,您可以参阅 MySQL 8.0 doc about DBLWR ,这里做了详细的解释。

废话不多说,让我们看以下测试结果

测试负载场景

这里使用简单的Sysbench OLTP_RW测试用例

8张表,每张表五千万行数据(大约100G数据)

InnoDB Buffer Pool大小从

128G(纯内存负载)

到64G (部分IO限制)

到32G (重IO限制)

并发从1,2,4….1024

在MySQL8.0.19和8.0.20做相同测试

配置信息

服务器:48cores-HT Intel(R) Xeon(R) Platinum 8268 CPU @ 2.90GHz, 192GB RAM

存储:Intel Optane NVMe, XFS 文件系统

OS:OL7.6, kernel-4.14.35-1902.301.1.el7uek.x86_64

MySQL配置文件:完整的my.cnf

在文章末尾

注意:DBLWR文件是默认配置,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值