注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Inside MySQL

MySQL MariaDB InnoDB InnoSQL

 
 
 

日志

 
 
关于我

MySQL技术内幕系列作者, 网易杭州研究院MySQL技术经理, 擅长于MySQL performance tuning、troubleshooting、systems availability and scalability、capacity planning

网易考拉推荐

Intel 320 SSD性能退化问题分析  

2013-03-28 14:13:44|  分类: SSD |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近重新对Intel 320 SSD盘进行了数据库性能测试,发现抖动非常严重,而之前的测试显示只要将关闭InnoDB的flush neighbor page功能就能得到比较稳定的TPS。而这个现象貌似在所有测试的Intel 320盘都存在类似情况。测试环境为:

测试工具:Sysbench 4张表,每张表1亿数据
数据库大小:95G
InnoDB Buffer Pool:30G
测试盘:Intel 320 600G
测试时间:3小时


下图显示了Sysbench测试的结果:
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
可以发现SSD盘的测试抖动非常大,而2块盘组成的RAID0相对来说要显得比较稳定。只是HDD预热所需的时间比较长。如果去除预热所需时间,两者对比的结果为:
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
之后让施勇兄插上了一块新的Intel 320盘,同样的测试环境与脚本,测试结果为:
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
可以看到这时TPS稳定多了,而性能的下降是由于测试过程中库会不断增大,导致性能开始下降。然而这种“稳定”不会持续太长时间,因为当测试一段时间后,最后的性能有变为了上述的情况(同比性能下降30%~40%):
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
造成这个问题的原因和MySQL数据库或者InnoDB存储引擎本身的关系可能并不大,因为开始测试时性能是稳定的。两次测试使用的数据库、配置参数、脚本都是相同的。Intel 320盘本身也没有问题,通过工具可以看到SSD的寿命还有100%,磁盘还有差不多450G的剩余空间。另外性能退化的问题在测试的所有Intel 320盘都有发生。因此,我觉得这是SSD盘写入放大问题所造成的。若换成FusionIO或者STEC这类的卡,可能就不会有这么明显的性能退化现象。

InnoDB L2 Cache可以很好的解决上述遇到的问题,因为对于写入其总是顺序的,这可以最小程度的减少写入放大的原因。例如这里将flash cache的size设置为50G再进行上述同样的测试:
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
可以看到由于写入到L2 cache是顺序的,因此TPS又变得比较稳定,这也证明了之前的猜测。另外这里仅使用了50G的flash cache就能差不多达到之前全SSD的效果,可以看到对于Intel 320盘,最好的选择或是将其作为cache使用。最终的TPS结果:
Intel 320 SSD性能退化问题 - jdaaaaaavid - jdaaaaaavid的博客
 
使用1块Intel 320盘做cache对比2快盘组成的RAID0可以有170%的性能提高。这部分的性能提升完全可以通过增大内存来实现,或者用6块盘组RAID0。前者在服务器允许的条件下是最为有效和直接的方式。后者则没有单独使用SSD有成本优势。将SSD作为cache的最大问题是预热,只有当预热完全才能充分发挥cache优势。

Intel 320是非常“古老”的一块SSD了,但是就我所知线上数据库使用量还是非常大的。有公司将4或6块Intel 320盘做了RAID进行使用。不知道是否遇到了类似的性能退化问题。希望可以对Intel 520进行测试,不知道该系列是否依然存在较为明显的性能退化问题。

SSD的确极大的突破了磁盘的IO瓶颈,然而限制依然非常大。即使多年过去了,SSD的价格依然保持高位。FusionIO或STEC PCIE卡虽然能提供较为稳定的性能,然而其价格原非普通用户所能接受。核心应用采用高端SSD,非核心将SSD作为Cache或许是平衡现在SSD遇到的问题。
  评论这张
 
阅读(1764)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017