InnoDB相关参数

来源:互联网 发布:dota最强被动晕 知乎 编辑:程序博客网 时间:2024/06/02 04:14
# InnoDB相关参数
innodb_additional_mem_pool_size=3M # InnoDB用于存储元数据信息的内存池大小,一般不需修改
innodb_flush_log_at_trx_commit =1 # 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。
innodb_log_buffer_size=2M # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。
innodb_buffer_pool_size=105M # InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%
innodb_log_file_size=53M # 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%
innodb_thread_concurrency=10 # InnoDB内核最大并发线程数,默认为10
innodb_file_per_table=1     # 开启单表单文件
innodb_open_files=1000  # 与 innodb_file_per_table 连用,默认值为300,设置为 < 1024 的值,否则会报错



例子:
innodb_log_buffer_size=8M    #使用默认的innodb_flush_log_at_trx_commit=1 ,即每次都 commit ,所以可以设置小点
innodb_buffer_pool_size=8G    #设置为物理内存的50%
innodb_log_file_size=512M    #设置为 innodb_buffer_pool_size 的16分之一,当然可以增大值到8分之一值(对应 mysql 下的 ib_logfile0的文件)
innodb_file_per_table=1 
innodb_open_files=1000

0 0
原创粉丝点击