MySQL硬件加速:Flash存储技术
4041 点击·0 回帖
![]() | ![]() | |
![]() | MySQL硬件加速:Flash存储技术
对数据库瓶颈贡献最大的、恐怕I/O是当仁不让了、 市面上、网络上一抓一大把的调优理论、都是对I/O下手 然、随着硬件技术的飞速发展、I/O已经不再是数据库瓶颈的头号杀手 那些墨守成规的DBA们、是时候转变思路啦、醒醒哈、别睡着了 大家伙先看一下MySQL I/O 分析 ① InnoDB redo&binlog 同步写入底层磁盘,顺序小IO IO响应时间要求 <2ms ② 数据文件 数据文件写:异步IO,后台写,随机小IO 数据文件随机读:索引查询,单块读,随机小IO 数据文件顺序读:全表扫描,多块读,连续大IO IO响应时间要求 <5ms 对I/O 响应要求还是比较苛刻的、也难怪早期硬件品质低下时瓶颈出自I/O 不过、别急、在存储方面、天空一声巨响、Flash闪亮登场、立马风靡IT界、血洗I/O ㈠ Flash 存储技术概况 ① 类型 ● NAND,NOR ● SLC,MLC ② 接口类型 ● SATA ● SAS ● FC ● PCIE ③ 生产厂家 ● intel,Fusionio ● STEC,SandForce ● HUAWEI ㈡ 性能数据比拼 Flash ① IOPS:随机读10000-60000,随机写5000-60000 ② Throughput: 连续读200M-600M,连续写200M-600M ③ Latency:30us Disk ① IOPS:随机读 160,随机写 160 ② Throughput : 连续读170M,连续写130M ③ Latency:6ms ㈢ Flash 存储原理 ⑴ Flash 需要擦除 ● 允许直接写入,不允许更新 ● 更新 = 读取 + 写入 + 擦除 ● 擦除代价大,延时2ms ● 写入单位与擦除单位、单位不一致 ● 擦除次数有次数限制 ⑵ Firmware的功能 ● FTL:物理逻辑地址映射 ● Reclamation:回收策略,异步擦除 ● Wear leveling:均衡写磨损,提升寿命 ● Reserved space:减小写入放大,提升写性能 ㈣ Flash 技术的运用 ⑴ Flash Disk ① 高IOPS,低容量 ② 避免过多的页擦除和写放大 ③ Flash不适合存放redo ⑵ Flash Cache ① Writeback & writethrough ② 加速读性能,适合网站型OLTP ③ 注意内存消耗 ㈤ 数据库I/O调整 ⑴ MySQL参数 innodb_flush_log_at_trx_commit innodb_flush_method innodb_io_capacity ⑵ 块设备,文件系统 Linux IO策略NOOP,CFQ,DEADLINE /proc/sys/vm/swappiness mount -o noatime,nodiratime,barrier=0 ⑶ Raid卡缓存控制 BBWC开启 预读缓存,写缓存writeback | |
![]() | ![]() |