- https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_stats_update_need_lock
- 整合性が問題となる一部statsの更新をあきらめてロックを減らす
- 犠牲となるのは
show table status
で表示されるData_free
- default=1で0にするとlockしなくなる。dynamicに変えられる
- http://dev.mysql.com/doc/refman/5.6/ja/innodb-multiple-buffer-pools.html
- https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_buffer_pool_instances
- buffer_poolを複数に分割して使うことで競合を減らして並列度をあげるのが目的
- default=1でDynamicな変更は不可(>_<)
- https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_rollback_segments
- 下げたら良くなるっていろんなとこでよく見かけるわりに、なんでかわからない
- 純粋に長いhisotry chainをたどるのに時間かかるから減らしておいたほうがlock時間短くなるよ的な話っぽいのかな?
- Dynamicに変更可能。
- よく書き込みまわりでチューニングのやりだまに上がる子
- すごく気を使うところなので詰まりやすくなる問題もあって慎重にさわりたいところ
- https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_use_purge_thread
- innodb_rollback_segmentsのところで触れた長いrollback_segmentsを削除するthread数のコントロール
- default=1で更新が多いところだと、増やしたほうがスループットが安定化する(っぽい?)
- もちろん、Dynamicに変更不可