InnoDB性能配置参数

2012年3月12日 发表评论 阅读评论

 

1. innodb_additional_mem_pool_size

除了缓存表数据和索引外,可以为操作所需的其他内部项分配缓存来提升InnoDB的性能。这些内存就可以通过此参数来分配。推荐此参数至少设置为2MB,实际上,是需要根据项目的InnoDB表的数目相应地增加

2.innodb_data_pool_size

此参数类似于MySQLkey_buffer参数,但特定用于InnoDB.这个参数确定了要预留多少内存来缓存表数据和索引。与key_buffer一样,更高的设置会提升性能,可以是服务器的内存70-80%

3.innodb_data_file_path

参数的名字和实际的用途有点出入,它不仅指定了所有InnoDB数据文件的路径,还指定了初始大小分配,最大分配以及超出起始分配界线时是否应当增加文件的大小。此参数的一般格式如下:

path-to-datafile:size-allocation[:autoextend[:max-size-allocation]]

例如,假设希望创建一个数据文件sales,初始大小为100MB,并希望在每次达到当前大小限制时,自动增加8MB8MB是指定autoextend时的默认扩展大小).但是,不希望此文件超过1GB,可以使用如下配置:

innodb_data_home_dir =

innodb_data_file_path = /data/sales:100M:autoextend:8M: max:1GB

如果此文件增加到预定的1G的限制,可以再增加另外一个数据文件,如下:

innodb_data_file_path = /data/sales:100M:autoextend:8M: max:1GB;innodb_data_file_path = /data2/sales2:100M:autoextend:8M: max:2GB

要注意的是,在这些示例中,inndb_data_home_dir参数开始设置为空,因为最终数据文件位于单独的位置(/data//data2/.如果希望所有 InnoDB数据文件都位于相同的位置,就可以使用innodb_data_home_dir来指定共同位置,然后在通过 inndo_data_file_path来指定文件名即可。如果没有定义这些值,将在datadir中创建一个sales

4 innodb_data_home_dir

此参数指定创建InnoDB表空间的路径的公共部分,默认情况下,这是MySQL的默认数据,由MySQL参数datadir指定

5. innodb_file_io_threads

此参数指定InnoDB表可用的文件IO线程数,MySQL开发人员建议在非Windows平台中这个参数设置为4

6. innodb_flush_log_at_trx_commit

如果将此参数设置为1,将在每次提交事务后将日志写入磁盘。为提供性能,可以设置为02,但要承担在发生故障时丢失数据的风险。设置为0表示事务日志写入日志文件,而日志文件每秒刷新到磁盘一次。设置为2表示事务日志将在提交时写入日志,但日志文件每次刷新到磁盘一次。

7.innodb_log_archive

因为MySQL目前使用自己的日志文件恢复InnoDB表,此参数可设置为0

8.innodb_log_arch_dir

MySQL目前忽略此参数,但会在未来的版本中使用。目前,应当将其设置为与innodb_log_group_home_dir相同的值

9.innodb_log_buffer_size

此参数确定些日志文件所用的内存大小,以M为单位。缓冲区更大能提高性能,但意外的故障将会丢失数据.MySQL开发人员建议设置为18M之间

10. innodb_log_file_size

此参数确定数据日志文件的大小,以M为单位,更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间

11.innodb_log_files_in_group

为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3M

12. innodb_log_group_home_dir

此参数确定日志文件组中的文件的位置,日志组中文件的个数由innodb_log_files_in_group确定,此位置设置默认为MySQLdatadir

13.innodb_lock_wait_timeout

InnoDB 有其内置的死锁检测机制,能导致未完成的事务回滚。但是,如果结合InnoDB使用MyISAMlock tables 语句或第三方事务引擎,InnoDB无法识别死锁。为消除这种可能性,可以将innodb_lock_wait_timeout设置为一个整数值,指示 MySQL在允许其他事务修改那些最终受事务回滚的数据之前要等待多长时间(秒数)

14.skip-innodb

启用此参数能防止夹杂InnoDB表驱动程序,不使用InnoDB表时推荐此设置




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 数据库 标签: ,
  1. 本文目前尚无任何评论.