Home  >  Article  >  Database  >  MySQL硬件加速:Flash存储技术_MySQL

MySQL硬件加速:Flash存储技术_MySQL

WBOY
WBOYOriginal
2016-06-01 13:32:491085browse

bitsCN.com

MySQL硬件加速:Flash存储技术

 

对数据库瓶颈贡献最大的、恐怕I/O是当仁不让了、

     市面上、网络上一抓一大把的调优理论、都是对I/O下手

     然、随着硬件技术的飞速发展、I/O已经不再是数据库瓶颈的头号杀手

     那些墨守成规的DBA们、是时候转变思路啦、醒醒哈、别睡着了

     

     

     大家伙先看一下MySQL I/O 分析

     

     ① InnoDB redo&binlog

        

        同步写入底层磁盘,顺序小IO

        IO响应时间要求

        

     ② 数据文件

     

        数据文件写:异步IO,后台写,随机小IO

        数据文件随机读:索引查询,单块读,随机小IO

        数据文件顺序读:全表扫描,多块读,连续大IO

        IO响应时间要求

     

     对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

MySQL硬件加速:Flash存储技术_MySQL
MySQL硬件加速:Flash存储技术_MySQL

       

                            

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn