MySQLを走るLinuxに最適化

2164 ワード

本論文はhttp://www.mysqlsupport.cn/linux-performance-tuning-tips-mysql/から来ている。
多くのMySQLの生産環境はLinuxの下にあるので、いくつかのLinuxの下でMySQLを走る重要な最適化点を指摘することにしました。これらはみんな知っています。新しいものもないですが、このブログでLinuxに関する配置最適化の経験を集めたいです。
ファイルシステム:ext 4(or xfs)mountの場合はnotimeオプションファイルシステムスケジュールポリシーを使います。deadline or noopを使います。
# echo deadline > /sys/block/sda/queue/scheduler
add "elevator=deadline" to grub.conf
XFSは、Red hat Enterprise 7の後にXFSがデフォルトのファイルシステムになっています。
メモリ:Swappiness and NUMA訳者注:swappinessを禁止したほうがいいです。またはシステムの標識で彼を使用しないようにしてください。
# echo 0 > /proc/sys/vm/swappiness
add "vm.swapiness=0" to /etc/sysctl.conf
numaを使用したinterleave allモードnumactl–interleave=all起動mysqldを使用すればPerona-serverはmysql_にあります。safeにはnuma_を使用しています。インタービューのオプション。もっと多い情報についてはPerceona Serverのnumaへの支持を見ることができます。numa_s
メモリの最適化というのは、jemalloc(tokudb、perconaは全部この方式を使っています。公式バージョンは自分でロードする必要があります。)
CPU:CPUの低消費電力(パワーセーブ)オプションのチェックを有効にすることを確認します。
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ここでオンデマンドかどうかを確認します。チェックすれば省エネモードが有効になります。
また、cpu MHZの数字と「model name」の後ろに表示されている数字が同じかどうかを確認します。ondemandを使用したら、彼を無効にしてください。
例えば、「オンデマンド」はサーバー上で実行されます。
$ps ax|grep kondmand|wc -l
65
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
また、CPUの表示頻度が実際の周波数と一致しているかを確認します。
/proc/cpuinfo:
model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
..
cpu MHz : 1200.000
アンマッチの場合はオンデマンドを無効にしてください(bois内の設定を変更したいです。)
CPUが24個の核を超えるなら、MySQL 5.6の後のバージョンを使うことを勧めます。
http://www.mysqlperformanceblog.com/2013/12/07/linux-performance-tuning-tips-mysql/