オンプレのmysqlのswapがでるんすけど
と対策を聞かれたので検索したのと記憶してたことを検索しなおして返事した備忘録です。
vm.swappiness=1とinnodb_flush_method=O_DIRECT
http://t-suzuki.hatenablog.jp/entry/2017/07/27/131810
これみるとsysctlでvm.swappinessを1にとinnodb_flush_method=O_DIRECTにしろと書いてますね。
(O_DIRECTは全部InnoDBかつRaidコントローラのWriteBackキャッシュ必須なやつ)
RHEL6.4(kernel 2.6.32-303)以降、vm.swappiness=0 にすると OOM Killer が発動しやすくなるので、1 がいいとのこと。
http://d.hatena.ne.jp/yohei-a/20151115/1447594914
NUMAによるswapインサニティー対策
これも(NumaとOOM_killer対策もやろうぜ的な)
https://yakst.com/ja/posts/3983
思い出した。スワップインサニティーでした(Numaのせい)
http://d.hatena.ne.jp/fat47/20121121/1353495937
https://enterprisezine.jp/dbonline/detail/3829?p=3
numaのパラメータは5.7.9からぽいです(5.6だそうなのでないみたい)
https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_numa_interleave
innodb_numa_interleave=1
numaによるswap対策のpatchはここらへんに転がってる模様です(ビルドと不穏なことがかいてた)
https://bugs.mysql.com/bug.php?id=72811
日本語訳されてる愚痴記事(最後マージされてうれしそうでよかった)
https://yakst.com/ja/posts/2650
ここにnuma対策のパッチ紹介してるキータ記事が。
(こっちのはmysqld_safeへのパッチなのでまあそんなにビビらなくても大丈夫そう(再起動は要りますが))
https://qiita.com/tktk2354/items/917b66ddd128f36b80e4
5.7のinnodb_bufferpoolのバグ対策
innodb_buffer_pool_size パラメータの値を innodb_buffer_pool_instances および innodb_buffer_pool_chunk_size パラメータの積の 8 倍に設定
https://bugs.mysql.com/bug.php?id=79379
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/MySQL.KnownIssuesAndLimitations.html
以上