MySQL 性能相关的几个参数

2016/09/16 MySQL

这里分享一些和MySQL性能相关的参数,对于提升MySQL的性能是有帮助的。恰当的优化,可以在很大程度上提升MySQL数据库的性能以及数据的稳定性。

相关参数

  • innodb_flush_log_at_trx_commit

    innodb_flush_log_at_trx_commit 这个参数可以说是InnoDB里面最重要的参数之一,它控制了重做日志(redo log)的写盘和落盘策略。 简单来说,可选值的安全性从0->2->1递增,分别对应于mysqld进程crash可能丢失 -> OS crash可能丢失 -> 事务安全。也就是说,如果 innodb_flush_log_at_trx_commit 设置为 1 的话,每次提交事务,都需要写入磁盘。虽然安全性提高了,但是性能也降低了。

  • sync_binlog

sync_binlog 是 MySQL 的二进制日志(binary log)同步到磁盘的频率。MySQL server 在 binary log 每写入 sync_binlog 次后,刷写到磁盘。 如果 autocommit 开启,每个语句都写一次 binary log,否则每次事务写一次。默认值是 0,不主动同步,而依赖操作系统本身不定期把文件内容 flush 到磁盘。设为 1 最安全,在每个语句或事务后同步一次 binary log,即使在崩溃时也最多丢失一个语句或事务的日志,但因此也最慢。


(未完待续)

Search

    Table of Contents