redoログファイルは現時点でfsyncシステムをコールして書き込みを行っており、これにはファイルメタデータの書き込みとファイルデータの書き込みが含まれます。ファイルメタデータの情報には、最終変更時間などのあまり重要ではない情報が含まれるため、一部のredo書き込みのケースでは、ファイルメタデータを常にストレージデバイスにフラッシュすることを避け(fdatasyncシステムのコールにより)、オーバーヘッドを減少させることが可能です。
主に書き込みストレスが比較的大きいケースに適します。
sysbench-write-onlyで多数の同時書き込みを持続的に行うケースにおいて、TPSのパフォーマンスが10%程度向上します。
パラメータinnodb_flush_redo_using_fdatasync=true/falseを設定することで、fdatasyncを使用してredoログファイルメタデータのリアルタイム書き込みを避けるかどうかを制御します。デフォルトはfalseです。
パラメータ名 | 動的 | タイプ | デフォルト | パラメータ値範囲 | 説明 |
---|---|---|---|---|---|
innodb_flush_redo_using_fdatasync | yes | bool | false | true/false | fdatasync方式を使用してredoをフラッシュするか |
この記事はお役に立ちましたか?