• mysql 案例 ~ 瘦身mysql系列(1)


    一 简介:这一系列我们要进行如何瘦身mysql

    二 目的:通过提高CPU利用率和节约成本,降低数据库容量及I/O负载,从而使数据吞吐率得到显著提高

    三 方法: 

          利用innodb的COMPRESSED

    四 如何开启

      第一,mysql的版本需要大于5.5,mysql系统表是无法进行压缩的 
      第二,设置innodb_file_format=barracuda 
      第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;(默认的key_block_size=16)

    五 对于现有的表如何进行转化压缩

         alter table test KEY_BLOCK_SIZE=8; 默认是16,数值越小压缩率越高,但是解压所消耗的资源率越高

    六 目标:

         1 针对 数据短时间用不到而且需要保留的大表,可以进行压缩和处理->冷表

         2 针对 只有单一insert和select业务的大表,考虑进行压缩和处理

         3 针对 频繁业务的大表,不推荐进行压缩处理,可能会影响并发

    七  相关参数      

    innodb_compression_level:决定压缩程度的参数 如果你设置比较大,那么压缩比较多,耗费的CPU资源也较多;相反,如果设置较小的值,那么CPU占用少。默认值6,可以设置0-9
    innodb_compression_failure_threshold_pct:默认值5,范围0到100.设置中断点避免高昂的压缩失败率。
    innodb_compression_pad_pct_max:指定在每个压缩页面可以作为空闲空间的最大比例,该参数仅仅应用在设置了innodb_compression_failure_threshold_pct不为零情况下,并且压缩失败率通过了中断点。默认值50,可以设置范围是0到75.

    八 注意事项

        1 5.6 默认是不支持压缩的 最好在配置文件和全局变量都添加 innodb_file_format=barracuda 

        2 Barracuda兼容Antelope格式,所以不必担心修改后会引起以前的表相关问题

       3 修改完后show create table 会发现出现一行KEY_BLOCK_SIZE

       4 压缩效果并非对所有表都很明显,需要注意,关于blob varchar大于255 TEXT等大字段类型压缩能力很差

         

  • 相关阅读:
    java线程池源码阅读
    websocketcometd源码阅读基于注解初始化(三)
    websocketcometd源码阅读与spring整合初始化(四)
    cometd源码阅读初始化(二)
    cometd源码阅读WebSocketTransport普通消息处理过程(八)
    websocketcometd源码阅读transport(五)
    一.安装软件
    GitHub一篇文章系列
    JavaJVM调优jstack找出最耗cpu的线程&定位问题代码
    Git总目录
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/9661838.html
Copyright © 2020-2023  润新知