• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    my.cnf参数配置实现InnoDB引擎性能优化

    在网上看了无数的my.cnf的配置,大多数提到的配置无外乎这几个:

    1. innodb_buffer_pool_size
    2. innodb_log_file_size
    3. innodb_log_buffer_size
    4. innodb_flush_log_at_trx_commit

    然后自己写了两个例子,一个单线程的,一个多线程的来通过改变配置参数来测试是否提高了性能。结果是只有innodb_flush_log_at_trx_commit可以提高性能,对于1,2,3参数无论是开其中某一个,还是三个同时调节都没有影响到测试性能。我想了下,可能是我的测试数据量还不够大造成的,后续有条件了再更大的数据量测试一下这3个参数。

    这里详细说一下innodb_flush_log_at_trx_commit:

    如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
    如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。
    如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file。但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。

    结果

    当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。
    当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。
    当设置为2,该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。

    注意:由于进程调度策略问题,这个“每秒执行一次 flush(刷到磁盘)操作”并不是保证100%的“每秒”。

    结论:innodb_flush_log_at_trx_commit设置为0或者2的时候速度差不多,两者都比设置为1的时候快很多。

    这里又让我想到了InnoDB和MyISAM引擎的区别,InnoDB的优势在于并发处理情况下比MyISAM快。而我的线程池数量是根据cpu的线程数来设定的,然后我把线程池的数量设置比cpu线程数大,更大,再大,结果我的测试程序性能又提高了,我醉了,原来是我对线程池的理解太浅薄了。线程池的最优大小

    您可能感兴趣的文章:
    • MySQL5.6.17数据库安装 如何配置My.ini文件
    • MySql 5.7.20安装及data和my.ini文件的配置
    • MySQL 5.6 & 5.7最优配置文件模板(my.ini)
    • mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)
    • MySQL优化配置文件my.ini(discuz论坛)
    • 对MySQL配置参数 my.ini/my.cnf的详细解析
    • Mysql my.ini 配置文件详解
    • MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法
    • mysql 查看当前使用的配置文件my.cnf的方法(推荐)
    • MySQL修改my.cnf配置不生效的解决方法
    • MySQL 5.5.x my.cnf参数配置优化详解
    • MySQL配置文件my.cnf优化详解(mysql5.5)
    • MySQL性能优化之路---修改配置文件my.cnf
    • MariaDB(Mysql分支)my.cnf配置文件中文注释版
    • MySQL配置文件my.cnf参数优化和中文详解
    • MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
    • MySQL配置文件my.cnf中文版对照
    • MySQL 配置文件my.cnf 例子最详细翻译
    • MySql优化之InnoDB,4GB内存,多查询的my.ini中文配置方案详解
    上一篇:MySQL使用UNIQUE实现数据不重复插入
    下一篇:MySQL存储全角字符和半角字符的区别
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    my.cnf参数配置实现InnoDB引擎性能优化 my.cnf,参数,配置,实现,InnoDB,