Presentation is loading. Please wait.

Presentation is loading. Please wait.

淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25 大话SSD 淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25.

Similar presentations


Presentation on theme: "淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25 大话SSD 淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25."— Presentation transcript:

1 淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25
大话SSD 淘宝核心系统数据库组 褚霸 2011/06/25

2 Agenda 初见 相识 相知 相爱

3 存储设备IOPS演变史 设备 IOPS 接口 7200 RPM SATA drives ~90 IOPS SATA II
15k RPM SCSI drives ~180 IOPS SAS Intel X25-M G2 (MLC) ~8,600 IOPS ioDrive, a PCI-Express card with Flash with Flash 140,000 Read IOPS, 135,000 Write IOPS  PCIe Fusion-io ioDrive Octal 1,180,000+ Random Read/Write IOPS

4 存储设备价格对照 设备 价格/每GB SATA 7200转 0.1 USD SAS 10000转 0.4 USD
Intel X25-M 160G * USD FusionIO  iodrive MLC 320G Virident  tachion SLC 400G

5 淘宝使用案例 CDN  IC库  TC主库 TC读库  Oceanbase Vstore 图像搜索 Tair ...

6 Agenda 初见 相识 相知 相爱

7 PCI-E/SATA接口

8 Intel X25-M/SATA

9 FusionIO iodrive/PCI-E

10 Virident tachion/PCI-E

11 SSD写入如何发生的呢?

12 背景知识1:Nand芯片擦写次数 Generation SLC MLC eMLC 2x 100,000 2,500 3x 5,000
35,000 5x 10,000

13 背景知识2:写放大倍数 写放大倍数的定义:SSD物理写字节数/应用逻辑写字节数 放大倍数越大,说明: 设备不够好 我们没用好 寿命杀手

14 Intel X25/M Nand内部布局

15 数据如何写入SSD(1)

16 数据如何写入SSD(2)

17 数据如何写入SSD(3)

18 数据如何写入SSD(4)

19 垃圾收集导致IO性能下降

20 Agenda 初见 相识 相知 相爱

21 适用环境 对IOPS要求高,离散读多。 离散写多。 需要低延迟。  作为后备内存。 作为L2 Cache 。

22 对程序员的影响 SSD=/=磁盘,传统软件基于机械硬盘设计。 IOPS不再是问题,如果利用好是问题。
离散读写非常快(3个数量级),顺序读写没优势。 读写延迟时间小。 读不消耗寿命,写消耗,越小的数据写越不合算。  同一个位置写,由于均衡算法的存在,不会磨损芯片的同一位置。 尽量合并写。 

23 对程序员的影响(续) SSD IO吞吐量1.XG/s, 内存是4-6G/s, 可看作是更大的内存?
MMAP做后备内存,和jemalloc这样的内存分配器配合。 异步IO, 保证IO请求队列深度。 对SSD的特性进行算法优化。 fsync能力是数据类应用天花板。

24 使用SSD通常要考虑的问题

25 Agenda 初见 相识 相知 播种

26 选择 多线程和IOPS 文件系统的选择 IO块大小 SLC还是MLC 写放大倍数 数据安全性 驱动对应用的影响 抖动/延迟
文件系统的选择  IO块大小 SLC还是MLC 写放大倍数 数据安全性 驱动对应用的影响 抖动/延迟 L2 Cache方案

27 离散读性能/线程数目

28 离散写性能/线程数目

29 文件系统的影响

30 IO块大小的影响

31 Nand: MLC还是SLC

32 写放大倍数和寿命 数据库典型的应用: Intel X25-M: 5-8倍 FusionIO iodrive: 2-3倍
数据库典型的应用: Intel X25-M:   5-8倍 FusionIO iodrive: 2-3倍 可以透过ssd设备提供的监控程序(如smartctl)来获取这些参数 . 寿命: Intel X25-M: 200T FusionIo iodrive 320G: 4P

33 数据安全性 数据校验: ECC校验 Raid冗余 Intel X25-M支持硬件raid卡,FusionIO 只能做软raid 掉电保护:
数据校验:  ECC校验 Raid冗余 Intel X25-M支持硬件raid卡,FusionIO 只能做软raid 掉电保护:  大电容保护 日志系统 数据恢复时间: FusionIO最多10分钟左右(内部日志系统)

34 驱动对应用的影响 Sata接口:标准Linux驱动,驱动开销很小
PCI-E接口:每个厂家驱动不同,对CPU和内存的消耗可能会非常大。 FusionIO在峰值的时候可能会占用1-2G内存, 最多1x0%CPU, Virident由于板载处理器CPU消耗比较小。 中断开销: 中断多的时候是否可以考虑均衡

35 抖动和延迟 由于数据整理的不可避免性,抖动也是不可避免的。 Intel:
Intel:     脏块回收做的不是很好,在使用过程中,数据写入多的情况下抖动会很厉害。 FusionIO:     相对好些,但是也会有轻微抖动。 可以通过加大reserve容量(通常默认20%)来大大缓解这个问题。 延迟时间可能会达到1ms.

36 SSD作为L2Cache方案 好处: 低成本,高性能 对应用透明 可选方案: Facebook FlashCache
可选方案: Facebook FlashCache FusionIO DirectCache 文件系统  存在问题: 性能损失 单点故障 数据热点问题

37 Agenda 初见 相识 相知 相爱

38 交流时间 谢谢大家! SSD未来会很快普及, 我们做好相爱的准备了吗?


Download ppt "淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25 大话SSD 淘宝核心系统数据库组 褚霸 http://yufeng.info 2011/06/25."

Similar presentations


Ads by Google