CentOS7の tunedを使ったパフォーマンス・チューニング

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

一つ一つの項目の意味もいずれ理解したい。

参考

CentOS 7の標準環境だけですぐできる、WordPress「5.4倍高速化」テクニック 後編 (1/3)

コメント

タイトルとURLをコピーしました