爱上好基友 发表于 2015-7-16 19:10:39

大话SSD

**** Hidden Message *****


[*]1. 大话 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 SATA II 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 PCIe
[*]4. 存储设备价格对照 设备 价格 / 每 GB SATA 7200 转 0.1 USD SAS 10000 转 0.4 USD Intel X25-M 160G * USD FusionIO iodrive MLC 320G * USD Virident tachion SLC 400G * USD
[*]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 100,000 5,000 35,000 5x 100,000 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 • 写放大倍数 • 数据安全性 • 驱动对应用的影响 • 抖动 / 延迟 • L2 Cache 方案
[*]27. 离散读性能 / 线程数目
[*]28. 离散写性能 / 线程数目
[*]29. 文件系统的影响
[*]30. IO 块大小的影响
[*]31. Nand: MLC 还是 SLC
[*]32. 写放大倍数和寿命 数据库典型的应用 : 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掉电保护: • 大电容保护 • 日志系统 数据恢复时间: • FusionIO 最多 10 分钟左右(内部日志系统)
[*]34. 驱动对应用的影响 Sata 接口:标准 Linux 驱动,驱动开销很小 PCI-E 接口:每个厂家驱动不同,对 CPU 和内存的消耗可能会 非常大。 FusionIO 在峰值的时候可能会占用 1-2G 内存, 最多 1x0%CPU , Virident 由于板载处理器 CPU 消耗比较小。 中断开销: • 中断多的时候是否可以考虑均衡
[*]35. 抖动和延迟 由于数据整理的不可避免性,抖动也是不可避免的。 Intel :   脏块回收做的不是很好,在使用过程中,数据写入多的情况 下抖动会很厉害。 FusionIO :      相对好些,但是也会有轻微抖动。 可以通过加大 reserve 容量 ( 通常默认 20%) 来大大缓解这个问 题。 延迟时间可能会达到 1ms.
[*]36. SSD 作为 L2Cache 方案 好处: • 低成本,高性能 • 对应用透明 可选方案: • Facebook FlashCache • FusionIO DirectCache •文件系统 存在问题: • 性能损失 • 单点故障 • 数据热点问题
[*]37. Agenda 初见 相识 相知 相爱
[*]38. 交流时间 谢谢大家! SSD 未来会很快普及, 我们做好相爱的准备了吗?

一个人流浪 发表于 2015-7-21 18:56:33

谢谢分享

baobao123 发表于 2015-7-29 00:38:32

谢谢,正在研究SSD原理

xuna0769 发表于 2015-9-9 12:30:51

学习中,感谢楼主的分享~

kliujie123 发表于 2015-11-3 23:08:44

就像看看看这个

337689353 发表于 2015-11-20 10:57:19

学习一下,非常棒!!!

nemotang 发表于 2016-6-20 14:43:00

学习SSD知识

younger 发表于 2018-2-24 09:34:15

感谢感谢感谢!!!

larry9523 发表于 2018-4-26 14:32:37

正在学习SSD,多谢分享

oldhero 发表于 2018-8-14 00:30:57

楼主威武,谢谢分享
页: [1] 2 3 4 5 6
查看完整版本: 大话SSD