CentOS7の「tuned」を使って、パフォーマンス・チューニングをおこなう。
チューニングの目的には、省電力モードの設定やディスクI/Oの性能向上などがあるが、今回はさくらVPS上のWordPressサーバを高速に動かすことを目的にする。
tunedとは
tunedは、Linuxの代表的なカーネルパラメータに関してチューニングを行ってくれるデーモンのこと。
OSを稼働したままで動的に変更することができる
まずは動いていることを確認。「active」とでたのでさくらVPSではデフォルトで動いているようだ。
sudo systemctl status tuned
tunedには既に用意されているパラメータのセット(プロファイル)がtuned.confに記述されており、このconfファイルを切り替えることで手軽にチューニングを行える。
さくらVPSでのtuned
tunedのプロファイルを確認する。
sudo tuned-adm list
使用可能なプロファイルと現在使用されているプロファイルを確認できる。
さくらVPSのカスタムインストールのデフォルトでは「virtual-guest」が設定されてた。
Available profiles: - balanced - desktop - latency-performance - network-latency - network-throughput - powersave - throughput-performance - virtual-guest - virtual-host Current active profile: virtual-guest
例えば、一般的なサーバの設定に向いている「throughput-performance」に変更する場合は、以下のコマンド。
sudo tuned-adm profile throughput-performance
ただし、自分は変更しなかった。参考にしたページでは「throughput-performance」を設定していたが、今回は「virtual-guest」でいくことにする。
「virtual-guest」はKVMの仮想マシンに最適化された設定であり、「throughput-performance」のプロファイルも含んでいるため、さくらVPS上で動かすには最適と判断したため。
virtual-guestとthroughput-performance
中身確認しておこう。
cat /usr/lib/tuned/virtual-guest/tuned.conf | grep -v "^#" | grep -v "^$"
throughput-performanceを読み込んでいる。
ほかは仮想メモリやdirty_ratioの設定だ。
[main] include=throughput-performance [sysctl] vm.dirty_ratio = 30 vm.swappiness = 30
ではでは、「throughput-performance」では何をやっているのか。
cat /usr/lib/tuned/throughput-performance/tuned.conf | grep -v "^#" | grep -v "^$"
vm.dirty_ratio と vm.swappinessの値が違うね。
[cpu] governor=performance energy_perf_bias=performance min_perf_pct=100 [disk] readahead=>4096 [sysctl] kernel.sched_min_granularity_ns = 10000000 kernel.sched_wakeup_granularity_ns = 15000000 vm.dirty_ratio = 40 vm.dirty_background_ratio = 10 vm.swappiness=10
一つ一つの項目の意味もいずれ理解したい。
コメント