网络编程
位置:首页>> 网络编程>> 数据库>> Mysql Innodb引擎优化(参数篇)(3)

Mysql Innodb引擎优化(参数篇)(3)

 来源:asp之家 发布时间:2010-05-02 19:57:00 

标签:mysql,优化,InnoDB

3. 文件IO分配,空间占用方面

innodb_file_per_table

作用:使每个Innodb的表,有自已独立的表空间。如删除文件后可以回收那部分空间。

分配原则:只有使用不使用。但DB还需要有一个公共的表空间。

设置方法:

innodb_file_per_table=1

innodb_file_io_threads

作用:文件读写IO数,这个参数只在Windows上起作用。在LINUX上只会等于4

设置方法:

innodb_file_io_threads=4

innodb_open_files

作用:限制Innodb能打开的表的数据。

分配原则:如果库里的表特别多的情况,请增加这个。这个值默认是300。

设置方法:

innodb_open_files=800

请适当的增加table_cache

4. 其它相关参数

这里说明一个比较重要的参数:

innodb_flush_method

作用:Innodb和系统打交道的一个IO模型

分配原则:Windows不用设置。

Unix可以设置:fsync() or O_SYNC/O_DSYNC

如果系统可以禁止系统的Cache那就把他禁了。

Linux可以选择:O_DIRECT

直接写入磁盘,禁止系统Cache了

设置方法:

innodb_flush_method=O_DIRECT

innodb_max_dirty_pages_pct

作用:控制Innodb的脏页在缓冲中在那个百分比之下,值在范围1-100,默认为90.

这个参数的另一个用处:当Innodb的内存分配过大,致使Swap占用严重时,可以适当的减小调整这个值,使达到Swap空间释放出来。建义:这个值最大在90%,最小在15%。太大,缓存中每次更新需要致换数据页太多,太小,放的数据页太小,更新操作太慢。

设置方法:

innodb_max_dirty_pages_pct=90

动态更改需要有Super权限:

set global innodb_max_dirty_pages_pct=50;

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com