zoukankan      html  css  js  c++  java
  • MySQL并发调优和IO调优

    一.myisam的IO调优

    1.myisam通常在每次写入后把索引的改变刷写到磁盘上.所以批处理通常会更快点.做到这点,可以通过LOCK TABLES,他可以把写入控制到对表解锁.

    还可以用delay_key_write变量来延迟索引的写入,如果使用他,只有在表关闭的时候写入键缓存.它有以下选项:

    OFF 每次索引改变后,写入磁盘
    ON  延迟键开启,但只针对使用DELAY_KEY_WRITE选项创建的表有效
    ALL 所有myisam表都是用延迟键写入

    延迟键开启,通常不能带来性能上的飞跃,在数据量小,读取命中率较好并且写入命中率较差的时候效果最好.但也带来一些负面影响
    a.服务器崩溃并且数据没被刷写到磁盘上,索引就会损坏.
    b.mysql需要更多的时间来关闭表
    c.FLUSH TABLES可能需要更多的时间
    d.查询要等待键缓存区释放空间而停止

    2.myisam配置从损坏中恢复

    myisam_recover(命令行参数是myisam_recover_options)控制了myisam查找和修复表的方式

    有以下值:
    DEFAULT:默认或不设置,只恢复
    BACKUP:把数据文件备份到.BAK文件中
    FORCE:即使.MYD丢失数据多于一行,恢复也会继续
    QUICK:除非有删除的数据才会跳过恢复.

    可以使用多重设置,中间用逗号隔开,比如BACKUP,FORCE

    二.innodb的IO调优
    1.innodb日志文件总体大小由innodb_log_file_size和innodb_log_files_in_group控制,并且他们对写入影响极大.默认值分别是5m和10m.

    2.控制缓冲大小的变量是innodb_log_buffer_size,默认是1m,推荐设置值是1m到8m

    3.innodb_flush_method可以配置innodb实际与文件系统进行交互的方式

    4.配置表空间
    innodb_data_file_path定义表空间文件
    innodb_data_home_dir定义在目录中

    innodb_data_file_path = ibdata1:1G;ibdata2:1G;ibdata3:1G
    上面的例子在3个文件中创建了3GB表空间

    下面的例子限制延伸文件最大为2GB
    ...ibdata3:1G:autoextend:max:2G

    5.使用innodb_file_per_table使每个表使用一个文件,以表名.ibd保存数据.但坏处是表空间的碎片都放在了.ibd中,这对于很小的表尤其会成为一个问题.因为innodb的页面大小是16kb,即使表只有1kb,也会需要至少16kb的磁盘空间



    三.myisam的并发调优
    1.可以使用concurrent_insert变量配置myisam的并发插入行为,
    0 不允许并发插入
    1 默认值,只要表中没有空缺,允许并发插入
    3 强制并发插入到表尾


    四.innodb并发调优
    1.控制并发的的方式是使用innodb_thread_concurrency变量,它限制了有多少线程进入内核.0为不限制
    并发 = cpu数量*磁盘数量*2

    2.innodb_commit_concurrency决定了某一时刻有多少线程提交,但innodb_thread_concurrency被设置为一个较小值,造成大量线程不佳时,可以设置该值

  • 相关阅读:
    ExtJS小技巧
    Oracle 表的行数、表占用空间大小,列的非空行数、列占用空间大小 查询
    NPM 私服
    IDEA 不编译java以外的文件
    SQL 引号中的问号在PrepareStatement 中不被看作是占位符
    Chrome 浏览器自动填表呈现淡黄色解决
    批量删除Maven 仓库未下载成功.lastupdate 的文件
    Oracle 11g 监听很慢,由于监听日志文件太大引起的问题(Windows 下)
    Hibernate 自动更新表出错 建表或添加列,提示标识符无效
    Hibernate 自动更新表出错 More than one table found in namespace
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429404.html
Copyright © 2011-2022 走看看