MySQL的启示:Intel Optane P4800X评测(4)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 熊猫直播高级DBA杨尚刚表示:“软件的适配还跟不上硬件的发展...”

本次测试特邀熊猫直播高级DBA杨尚刚参与。尚刚在互联网公司工作多年,是MySQL数据库等方面的专家。

 

在这一系列评测中,从前面几篇已经可以全面了解使用3D XPoint MemoryOptane P4800X SSD硬件本身的性能,以及在Oracle数据库中的表现和价值。如果还没看过并且有兴趣的朋友可以点击下列链接:

 

Intel Optane P4800X评测(序):不用缓存和电容保护的SSD

Intel Optane P4800X评测(1):好钢如何用在刀刃上?

Optane P4800X评测(2):Oracle 170万TPM意味着什么?

Intel Optane P4800X评测(3):Windows绑核优化篇

 

至于MySQL,在Intel官网上也有一篇文章《Applying Intel Optane SSDsto MySQL- Part 1 Fast Storage》,其中的测试数据还看上去还不错。那么我们自己的实测结果如何呢?

 


测试环境还是之前那套平台:Dell PowerEdge R830服务器,配置4Xeon E5-4610 v4 1.8G十核CPU256GB内存。分别检验数据库放在Intel SSD P3700Optane P4800X上的表现。

 

首先,我们将列出bufferpool(也就是数据库在系统内存中的缓存)设置为14GB时的测试结果。

 

第一轮测试:P3700已跑满,Optane仍有余地

 

测试数据库MySQL 5.7.18 官方社区版

 

QPSquery persecond)包括数据库的读写操作,横坐标为并发数,以下同

 

select查询场景是只读操作。由于测试平台CPU总共40个物理核心/80线程,SysBench压测到128线程已达峰值性能。进一步观察,在Optane P4800XP3700两者QPS差不多的情况下,P3700ioutil能到100%,而Optaneioutil60-70左右。也就是说P3700已经到了极限,而Optane还是有空间的,进一步性能发挥可能受限于MySQL自身或者CPU

 

由于数据库缓存的作用,该场景的平均延时表现差不多(瓶颈不在卡上),所以上面我们列出的是95% QoS延时。这个应该就是Cache未能命中那些落到SSD上的I/O,所以低并发时Optane的优势大一些。

 

insert插数据场景则是100%写,我看了OptaneP4800XP3700的数据没有明显差距,无论QPS还是延时。由于bufferpool的缓存作用,insert此时应该主要受限于MySQL本身。下文中我们还会列出调小Cache后的insert压测曲线。

 

这个图表比较的是平均延时,与上面一张不同。

 

OLTP场景为混合读写。记得早年看到另一位DBA专家朋友@jametone在微博上写道:存储的(小块)I/O中,读容易离散而写相对连续的时候多(印象中是这个意思)。一方面数据库Cache有合并作用,此外日志文件也是顺序写。

 

由于这里的事物比前面复杂,64并发测试的延时不到10ms128并发为15ms左右,都在可以接受的范围内。

 

以上测试MySQL Cache大小设置为14GB,如果将其上调则缓存命中率提高,测试数据还能更好一些,但Optane P4800XP3700的差距也会更加不明显。

 

调低Cache命中率,压到SSD上现差距

 

我们知道数据库的Cache命中率取决于2个因素:内存Cache容量和库文件(数据集)大小。为了体验Cache命中率较低时的情况,我们此次选择不改变数据量,而是把bufferpool调整为1GB

 


当数据库Cache减小为1GB之后,OLTP场景的QPS数值有所下降,而两块SSD卡也拉开了差距。在64并发下P3700的平均延时已经超过20ms,此时OptaneP4800X还不到10ms。下面是1小时的压测曲线:

 


注:蓝色和橙色曲线分别为Intel Optane P4800X3D XPoint Memory)和P3700NAND闪存),此时数据库缓存命中率较低,压力能够反映到SSD上,所以差距比较大。

 

Insert场景:Optane写稳定性更好

 


在数据库缓存命中率较低时,insert插入测试的差别也更明显了,Optane P4800XQPS较为稳定,而P3700则有较大幅度跌落的时候(与《Intel Optane P4800X评测(1):好钢如何用在刀刃上?》一文中的结果接近)。虽然主要的瓶颈在数据库,但Optane还是能够改善性能稳定性。

 

注:Intel SSDP3700DWPD5年平均每天整盘随机写遍数)高达17,在传统NAND闪存SSD中属于寿命高、写性能稳定的代表之一。

 

官方测试对比思考:环境、评估标准不同

 


上图来自我在开头提到那篇Intel网站上的文章,这里也是对比的OLTP工作负载,为什么结论与我们的测试有些不同呢?下面我来解释一下:

 

1、  首先,Intel这一测试使用了与OptaneSSD容量相对接近的400GB P3700,从下表中可以看出其写入性能与1.6TB2TB大容量点差距较大,由于这个Optane P4800X显得“更快”。而我们的测试则主动选择了P3700 2TB,因为更想看到Optane与旗舰闪存卡之间的比较。

 

价格上,大家都知道3D XPoint Memory单位容量比较贵吧,不过要是拿P3700 2TBP4800X 375GB比就应该在同一级别了。

 

这个表格我在《Intel发布P4500P4600 NVMe SSD:规格释疑》一文中列出过

 

根据常识SSD的写性能和寿命与容量有关,Intel新一代的P4600虽然写速度更快些,但由于其3DTLC闪存的寿命没有P3700高,所以写耐久度不在一个级别。目前第一代3D XPoint介质已经达到了30 DWPD,而且Optene P4800X只用375GB就达到了50万稳态随机写IOPS

 

2、  Intel这个10倍差距,比较的是99% QoS延时在10ms左右的TPS性能。这比人们通常对比的平均延时和95% QoS要求更加苛刻。而早在《再谈3D XPoint:延时、QoS与队列深度》一文中我就提到QoS延时是OptaneP4800X的一大优势。

 

3、  Intel的测试平台使用了2Intel Xeon E5 2699 v4 CPU,主频2.2GHz一共44核心;比我们用的4Xeon E5-4610v4 1.8G(共40核)性能要高一些,有助于缓解CPU在数据库测试中的瓶颈。当然这不是PowerEdgeR830服务器平台的不足,如果我能用E5-4669 v4之类的CPU测,估计又是另外一番风景了。

 

总结

 

与之前Oracle测试中的情况类似,MySQL SysBench也是在数据库Cache命中率调低后,才能将SSD存储的差距放大。正如尚刚所说,如今瓶颈更多在于CPU和软件本身,“软件的适配还跟不上硬件的发展”。

 

上文中还提到了QoS延时,顺便我也做个预告:系列评测的下一篇除了SDPK之外,还会让P4800XP3700QoS延时同场竞技。请大家继续关注!

 

特邀作者/测试专家介绍

 

杨尚刚,熊猫直播高级DBA,之前在新浪负责新浪微博核心数据库架构设计和优化,以及数据库平台硬件测试和选型。

 

参考资料 https://itpeernetwork.intel.com/applying-intel-optane-ssds-to-mysql-part-1-fast-storage/

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版的体验评测
我有幸参与了云原生数据库PolarDB MySQL版的体验评测。在这次评测中,我主要关注了以下几个方面:产品控制台操作体验、产品文档阅读体验、产品API使用体验、控制台产品监控页面以及生态周边。
65 11
云原生数据库PolarDB MySQL版的体验评测
|
4月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版深度评测报告
作为一名开发人员,在日常工作中频繁与数据库打交道,对于数据库的性能、灵活性和易用性有着极高的要求。此次,我有幸对阿里云自主研发的云原生数据库PolarDB MySQL版进行了深入评测,旨在了解其是否能够满足现代应用的高性能、高可用性和弹性扩展需求。
100 4
|
5月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版评测报告
云原生数据库PolarDB MySQL版评测报告
62 4
|
4月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版的全面深度评测
云原生数据库PolarDB MySQL版的全面深度评测
108 0
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL场景评测:阿里云数据库服务的新高度
随着企业数字化转型的加速,对数据库的稳定性和性能提出了更高要求。阿里云的PolarDB MySQL应运而生,作为一款高度兼容MySQL协议的云原生数据库,它在性能、扩展性和安全性方面展现出了卓越的能力。本文将基于阿里云PolarDB MySQL的官方评测,深入探讨其在实际应用场景中的表现,以及为用户带来的价值。
171 0
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL深度评测:云原生数据库的新高度
随着互联网业务的迅猛发展,企业对数据库的性能、稳定性和可扩展性提出了更高的要求。阿里云推出的 PolarDB MySQL,作为新一代云原生数据库,以其高性能、高可用性和易于扩展的特点,受到了广泛关注。本文将对 PolarDB MySQL 的核心功能、性能表现及实际使用体验进行评测,帮助读者更好地理解这一产品。
|
关系型数据库 Serverless 分布式数据库
PolarDB MySQL 版 Serverless评测
对PolarDB的Serverless能力从多维度进行测评
61311 41
PolarDB MySQL 版 Serverless评测
|
关系型数据库 Serverless 分布式数据库
评测|PolarDB MySQL 版 Serverless
评测|PolarDB MySQL 版 Serverless PolarDB Serverless构建了一个全新的数据库形态,这种情况下,CPU和内存资源因其池化其使用率将会大幅度提升,云原生数据的成本将会远低于自建和RDS等一体化数据库,云原生技术的价值将会得到充分的体现。Serverless数据库能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。下面我尝试从几个维度对PolarDB的Serverless能力进行产品测评。
59170 7
评测|PolarDB MySQL 版 Serverless
|
7月前
|
关系型数据库 MySQL Serverless
评测报告:阿里云 PolarDB MySQL 版 Serverless 能力
本次评测全面评估了阿里云 PolarDB MySQL 版的 Serverless 能力,包括资源弹升速度、资源伸缩广度、稳定性、颗粒度、自动启停以及全局数据强一致性。结果显示,PolarDB 在这些维度上均表现出色,能够快速响应负载变化、灵活调整资源配置、保证业务连续性和稳定性,同时精细控制成本。与同类型产品相比,PolarDB 在多方面具有优势。我们建议阿里云继续优化资源调度算法、拓展边缘场景支持,并加强与生态伙伴的合作,以进一步提升产品竞争力和用户满意度。
|
7月前
|
关系型数据库 MySQL Serverless
《开发者评测》之PolarDB MySQL 版 Serverless评测活动获奖名单
PolarDB MySQL 版 Serverless评测最优奖、潜力奖、争优奖获奖名单正式公布!
123 0