zoukankan      html  css  js  c++  java
  • Inodb核心参数说明

    1、Innodb_flush_log_at_trx_commit:

      控制redo 往os buffer、磁盘 刷写的策略 

      (0) 每秒将redo buffer往os buffer(操作系统文件缓冲区) 刷写,每秒将os buffer同步到磁盘,如果宕机,会丢失一秒内的所有事务

        (1) 事务每次commit,立即将redo buffer刷写到os buffer,并立即刷写到磁盘,直到真正将数据同步到磁盘,事务才结束(默认)

        (2)事务每次提交立即刷写到os buffer, 而os buffer每秒将数据同步到磁盘,如果数据库宕了没事,整体宕机还是和0是一样的

    2、innodb_file_per_table

      1是独立表空间,0是共享表空间,详情查看表空间文章

    3、innodb_flush_method

      控制redo buffer、buffer pool刷写到磁盘的策略

      redo buffer 不管选择哪种模式,都是先刷写到os buffer,然后再同步到磁盘

       (1) FSYNC: buffer pool和redo buffer 先刷写到os buffer 、然后从os buffer 同步到磁盘,

       (2) O_DIRECT:buffer pool 略过os buffer ,直接同步到磁盘,redo buffer 还是从os buffer经过  (建议)

       (3) O_DSYNC: buffer pool刷写到os buffer 然后同步到磁盘,redo buffer 略过 os buffer 直接写到磁盘

     

     最高安全模式:

      innodb_flush_log_at_trx_commit=1

      innodb_flush_method=O_DIRECT

    最高性能:

      innodb_flush_log_at_trx_commit=0

      innodb_flush_method=fsync

     

    redo日志设置:

      1、innodb_log_buffer_size=16777216

        redo缓冲区大小

      2、innodb_log_file_size=50331648

        ib_logfile0、ib_logfile1的文件大小

      3、innodb_log_file_in_group=2

        设置几个ibdata文件,默认2

      4、innodb_max_dirty_pages_pct=75

        脏页达到内存75%就会自动刷写到磁盘 

        CSR机制和redo文件满了也会自动刷写磁盘

  • 相关阅读:
    C# 之 HttpRequest 类
    C# 之 日常问题积累(一)
    DataGrid前台数据绑定技巧
    [转]C,C++开源项目中的100个Bugs
    10行Python代码解决约瑟夫环(模拟)
    基于ASP.NET的comet简单实现 http长连接,IAsyncResult
    架构设计分享之权限系统(看图说话)
    内核request_mem_region 和 ioremap的理解
    【调侃】IOC前世今生 工厂模式 反射 依赖倒置
    ecos内核概览--bakayi译
  • 原文地址:https://www.cnblogs.com/ruan-ruan/p/13976218.html
Copyright © 2011-2022 走看看