简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
INNODB_FLUG_METHOD
贡献者
建议更改
InnoDB_flush_方法 参数用于指定InnoDB如何打开和刷新日志和数据文件。
优化
在InnoDB优化中、如果适用、设置此参数会调整数据库性能。
以下选项用于通过InnoDB转储文件:
-
fsync
。InnoDB使用fsync()
系统调用以刷新数据和日志文件。此选项为默认设置。 -
O_DSYNC
。InnoDB使用O_DSYNC
选项打开并刷新日志文件,并使用fsync()刷新数据文件。InnoDB不使用O_DSYNC
这是因为在许多UNIX版本上都存在问题。 -
O_DIRECT
。InnoDB使用O_DIRECT
选项(或directio()
在Solaris上)以打开数据文件并使用fsync()
刷新数据和日志文件。此选项在某些版本的GNU或Linux、FreEBSD,和Solaris上可用。 -
O_DIRECT_NO_FSYNC
。InnoDB使用O_DIRECT
选项;但是、它会跳过fsync()
系统调用。此选项不适用于某些类型的文件系统(例如XFS)。如果不确定文件系统是否需要fsync()
系统调用(例如、要保留所有文件元数据)、请使用O_DIRECT
选项。
观察结果
在NetApp实验室测试中、 fsync
NFS和SAN上使用了默认选项、与相比、这是一个非常好的性能提升 O_DIRECT
。将刷新方法用作时 O_DIRECT
通过使用ONTAP、我们发现客户端会以串行方式在4096块的边界处写入大量单字节写入。这些写入会增加网络延迟并降低性能。