Skip to main content
Enterprise applications
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

innodb_flush_method

共同作成者

innodb_flush_methodパラメータは、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 オプションはI/Oのフラッシュ時に使用されますが、 fsync() 後でシステムコール。このオプションは、一部のタイプのファイルシステム(XFSなど)には適していません。ファイルシステムに fsync() システムコール(たとえば、すべてのファイルメタデータを保持する場合)は、 O_DIRECT 代わりにオプション。

観察

NetAppラボテストでは、 fsync NFSとSANではdefaultオプションが使用されており、 O_DIRECT。flushメソッドを使用している場合 O_DIRECT ONTAPでは、クライアントが4096ブロックの境界で大量のシングルバイト書き込みをシリアル方式で書き込みました。この書き込みにより、ネットワーク経由のレイテンシが増加し、パフォーマンスが低下します。