2KB项目,专业的源码交易网站 帮助 收藏 每日签到

MariaDB 引入原子写特征

  • 时间:2019-03-25 17:42 编辑:2KB 来源:2KB.COM 阅读:483
  • 扫一扫,手机访问
  • 分享
摘要:
MariaDB 英文原文:MariaDB Introduces Atomic Writes


Sysbench OLTP,每秒处置事务数

在运用高功能低延迟的存储装备(如SSD)时,我们可能会碰到意想不到的瓶颈。本文讲述的就是遭受和处置如许的一个瓶颈的故事。

InnoDB 有一个共同的特征叫“双写缓存”(Double Write Buffer)。这个特征用于恢复那些未完好写入的页(Page),假如电源呈现毛病时 InnoDB 正在往硬盘上写一个页(1页=16KB=32磁道),那末便可能招致该页未完好写入。下次读取这个页的时分,InnoDB 会发明其校验码(checksum)不适配并断定其是破坏的。为了将这个破坏的页恢复,我们需求这个页的原始备份。

“双写缓存”就供给了如许的备份。当 InnoDB 将一个页写入硬盘时,该页的内容起首被写入双写缓存中。仅当该缓存被平安的写入到硬盘后,该页的内容才会被写到硬盘的终极地位。当要恢复的时分,InnoDB 会扫描双写缓存,对缓存中每一个准确的页,异样反省其在数据文件中的内容能否准确。

在这个机制中,校验码的生成和两次写入的进程都是要耗费工夫的,由此会带来页数据写入的功能降落。只要当运用疾速存储装备,并履行大量写操作的时分,其影响才会变得分明。在测试的时分你可以禁用这些特征,但我激烈建议不要在生产情况中这么做。

今朝想要运用“原子写”特征的话,需求采取 DirectFS 文件系统,该文件系统是 FusionIO SDK 的一部分。来自 Monty Program AB 的 Wlad Vaintroub 与 FusionIO 的开发职员一道,为InnoDB/XtraDB 运用该特征作了需要的修正。假如数据库中一切的表空间都驻于 DirectFS/FusionIO 上,并由此支撑“原子写”特征的话,那末可以用新的变量 innodb_use_atomic_writes=1 来将“双写缓存”切换成“原子写”。该补钉曾经包括到 MariaDB-10.0.2,并也将包括到 MariaDB 5.5.31。该特征的运用阐明文档在这里

来看看数据吧!开端的测试后果标明,原子写特征关于小数据集(同 RAM 巨细相适配的数据集)来讲,带来的益处很小乃至没有。可是在运用疾速的 SSD 时,因为读写速度大幅改良,数据库可以禁受(同 RAM 比拟)大很多的数据集。

下面是 Sysbench 的 OLTP 基准数字,运用100GB数据(16表,400亿行),但 InnoDB 缓冲池的 RAM 只能有16GB。功能固然比凡是的10GB数据集要慢些。数字:


小数据集(10G) 大数据集(100G)
max ro tps 8000 3000
max rw tps 6000 1800

对大数据集,下面的设置装备摆设将被比拟:

  • 双写入,InnoDB 页面校验 double write, InnoDB page checksum
  • 原子写入,InnoDB 页面校验
  • 原子写入,XtraDB 疾速页面校验
  • 原子写入,无页面校验
线程 双写入  原子写入  原子写入+疾速校验 原子写入+无校验
1 159.81 164.34 +2.8% 179.68 +12.4% 184.72 +15.6%
2 316.65 343.21 +8.4% 378.61 +19.6% 391.72 +23.7%
4 544.05 635.26 +16.8% 699.6 +28.6% 726.55 +33.5%
8 830.37 1062.8 +28.0% 1176.8 +41.7% 1214.7 +46.3%
16 1054.7 1421.2 +34.7% 1570.7 +48.9% 1610.1 +52.7%
32 1208.3 1615.1 +33.7% 1736.6 +43.7% 1767.4 +46.3%
64 1286.9 1673.2 +30.0% 1793.2 +39.3% 1833.7 +42.5%
128 1266.2 1653.1 +30.6% 1824.5 +44.1% 1875.6 +48.1%
256 1139.4 1505 +32.1% 1586.3 +39.2% 1618.3 +42.0%

结论:

  • 启用原子写能立刻带来30%摆布的写功能改良;
  • 运用 XtraDB 的疾速校验(fast checksum)能将功能改良进步至靠近50%;
  • 完整禁用校验只会带来很少的功能改良。

测试细节:

MariaDB-5.5.30 (lp trunk). Sysbench-0.5 (Lua 启用). Complex OLTP 测试. 400 mio rows in 16 tables. 16GB InnoDB 缓冲池, 4G 重做日记.

本次测试的剧本和后果,自始自终的向大师公

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部