• MYSQL优化(2)


    Innodb引擎

    1.innodb_buffer_pool_size  这个参数主要作用是缓存innodb表的索引,表数据,插入数据时的缓冲,可用内存70~80%比较合理.   show status like  'Innodb_buffer_pool_%';

    2.nnodb_purge_batch_size  表示一次清除多少个undolog page

    3.innodb_purge_thread  清除undolog的线程数,超过1个时不起效

    4.innodb_read_io_threads  InnoDB 使用后台线程处理数据页上写 I/O(输入)请求的数量;

    5.innodb_write_io_threads  InnoDB 使用后台线程处理数据页上读 I/O(输出)请求的数量。

    6.sync_binlog   sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

    sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

    7.innodb_log_file_size   用来设置 Innodb 的 Log Buffer 大小的,系统默认值为 1MB。Log  Buffer 的主要作用就是缓冲 Log 数据,提高写 Log 的 IO 性能。一般来说,如果你的系统不是写负载非常高且以 大事务居多的话,8MB 以内的大小就完全足够了。

    8.innodb_io_capacity  参数可以调整刷新脏页的数量,会根据innodb_io_capacity来判断更新的速度能不能在可控的范围内.如果innodb_io_capacity设置过大,则会造成MySQL高估了磁盘的能力,导致脏页堆积,就会出现本文所说的问题.如果设置过低,则会出MySQL低估了磁盘的能力,使得数据库能够单位时间内提交的事务数(tps)降低,比较低级的磁盘,根据MySQL 官方的建议,应该将innodb_io_capacity降低到100.

    9.innodb_max_dirty_pages_pct    控制了 Dirty Page 在 Buffer Pool 中所占的比率,超过就flush到硬盘;

    10.innodb_flush_log_at_trx_commit   

      0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作,mysql崩溃时可能会丢失数据,最快但是不安全.

      1:每次事务提交时mysql都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。

      2:每次事务提交时mysql都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。一般当操作系统崩溃时才可能会丢失1-2秒的数据,速度介于 0和1之间.

    11.innodb_flush_method   控制着innodb数据文件及redo log的打开、刷写模式

      0:fdatasync, innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件 

      1:O_DIRECT,innodb使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log

      2:O_DSYNC,innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件

      

        ps:   fsync: 该函数作用是flush时将与fd文件描述符所指文件有关的buffer刷写到磁盘,并且flush完元数据信息(比如修改日期、创建日期等)才算flush成功。

           O_SYNC方式打开redo文件表示当write日志时,数据都write到磁盘,并且元数据也需要更新

          

        

  • 相关阅读:
    Android Wear真机蓝牙调试方法及错误解决方法,设备华为WATCH+小米5
    Ubuntu16.04 Selenium+python 环境搭建 Chromedriver安装
    Ubuntu16.04 为vim安装YouCompleteMe插件
    codeforces 676C Vasya and String 贪心 尺取法
    poj 1177 & hdu 1828 Picture 线段树 扫描线求矩形周长并
    hdu 1542 & poj 1151 Atlantis 线段树扫描线求矩形面积并
    fzu 2109 Mountain Number 数位DP
    fzu 2105 Digits Count 线段树
    codeforces 675D Tree Construction 数据结构
    codeforces 675C Money Transfers 贪心
  • 原文地址:https://www.cnblogs.com/ironroot/p/7341465.html
Copyright © 2020-2023  润新知