灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2953回复:0

[mysql]MySQL硬件加速:Flash存储技术

楼主#
更多 发布于:2013-06-17 11:11
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

喜欢0 评分0
游客

返回顶部