⇒http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_flush_method
⇒http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_flush_method
⇒http://www.percona.com/doc/percona-server/5.1/scalability/innodb_io.html?id=percona-server:features:innodb_io_51&redirect=2#innodb_flush_method
が、実はlittlesyncとnosyncという値も設定できるっぽい。mysql-5.6.13/storage/innobase/srv/srv0start.cc には、
1665 } else if (0 == ut_strcmp(srv_file_flush_method_str, "fsync")) {しかもちゃんと
1666 srv_unix_file_flush_method = SRV_UNIX_FSYNC;
1667
1668 } else if (0 == ut_strcmp(srv_file_flush_method_str, "O_DSYNC")) {
1669 srv_unix_file_flush_method = SRV_UNIX_O_DSYNC;
1670
1671 } else if (0 == ut_strcmp(srv_file_flush_method_str, "O_DIRECT")) {
1672 srv_unix_file_flush_method = SRV_UNIX_O_DIRECT;
1673
1674 } else if (0 == ut_strcmp(srv_file_flush_method_str, "O_DIRECT_NO_FSYNC")) {
1675 srv_unix_file_flush_method = SRV_UNIX_O_DIRECT_NO_FSYNC;
1676
1677 } else if (0 == ut_strcmp(srv_file_flush_method_str, "littlesync")) {
1678 srv_unix_file_flush_method = SRV_UNIX_LITTLESYNC;
1679
1680 } else if (0 == ut_strcmp(srv_file_flush_method_str, "nosync")) {
1681 srv_unix_file_flush_method = SRV_UNIX_NOSYNC;
mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_flush_method'; +---------------------+--------+ | Variable_name | Value | +---------------------+--------+ | innodb_flush_method | nosync | +---------------------+--------+ 1 row in set (0.00 sec)
認識されてるし。。
こんな機能メンテしたくないからドキュメントからは外した、とInnoDB開発者の弁。
⇒http://lists.mysql.com/mysql/148920
かなり速そうだから、バックアップからの戻しならアリかもね。。
【2015/07/24 16:43】
今ドキュメント見たら載ってるなぁ。。
でもこっちはクローズされてないなぁ。。
MySQL Bugs: #26588: innodb_flush_method, nosync and littlesync undocumented
0 件のコメント :
コメントを投稿