RHELのTuneDとは?利用状態の確認・メリット・基本的な使い方をわかりやすく解説

RHELのTuneDとは?利用状態の確認・メリット・基本的な使い方をわかりやすく解説 Linuxサーバ

あなたのRHELはすでにTuneDを使っているかもしれません

RHELを運用している方は、まず次のコマンドを実行してみてください。

tuned-adm active

次のように表示された場合、そのRHELでは TuneDが利用されています

tuned-adm active

さらに、以下を実行します。

tuned-adm verify
tuned-adm verify

つまり、この状態です。

  • TuneDは有効
  • 現在のプロファイルは virtual-guest
  • TuneDの設定は正常に反映済み

この記事では、RHELの性能チューニング機能である TuneD について、利用状態の確認方法、メリット、基本的な使い方、最適化の考え方をわかりやすく解説します。


スポンサーリンク

TuneDとは

TuneD は、RHELで利用できる性能チューニング用サービスです。

CPU、ディスクI/O、ネットワーク、カーネルパラメータ、省電力設定などを、サーバ用途に合わせてまとめて調整できます。

通常、Linuxのチューニングでは、以下のような設定を個別に確認・変更する必要があります。

CPU設定
I/Oスケジューラ
sysctlパラメータ
ディスク設定
ネットワーク設定
省電力設定

    TuneDを使うと、これらを プロファイル として管理できます。

    例えば、仮想マシン向けなら virtual-guest、スループット重視なら throughput-performance、低遅延重視なら latency-performance といったプロファイルを選択します。



    TuneDを利用するメリット

    TuneDを使うメリットは、RHELの性能チューニングを 簡単に、再現性高く、戻しやすく 管理できることです。

    主なメリットは以下です。

    メリット内容
    設定を標準化できるサーバ用途ごとにプロファイルで管理できる
    操作が簡単tuned-adm profile で切り替えできる
    状態確認しやすいtuned-adm activeverify で確認できる
    戻しやすい以前のプロファイルに簡単に戻せる
    自動化しやすいAnsibleなどに組み込みやすい

    手作業でsysctlやI/O設定を個別に変更すると、サーバごとに設定差異が出やすくなります。
    TuneDを使えば、プロファイル名でチューニング方針を管理できるため、運用がシンプルになります。



    TuneDの基本的な使い方

    RHELでTuneDを使う場合、基本的な流れは次の通りです。

    まず、TuneDをインストールします。

    dnf install tuned -y

    次に、TuneDサービスを有効化して起動します。

    systemctl enable --now tuned
    systemctl is-enabled  tuned
    dnf install tuned -y
systemctl enable --now tuned
systemctl is-enabled  tuned



    利用可能なプロファイルを確認します。

    tuned-adm list

    現在のプロファイルを確認します。

    tuned-adm active

    推奨プロファイルを確認します。

    tuned-adm recommend
    tuned-adm list
tuned-adm active
tuned-adm recommend



    プロファイルを適用する場合は、以下のように実行します。

    # tuned-adm profile プロファイル名

    例として、スループット重視のプロファイルを適用する場合は以下です。

    tuned-adm profile throughput-performance

    設定が正しく反映されているか確認するには、以下を実行します。

    tuned-adm verify

    成功すると、次のように表示されます。

    Verification succeeded, current system settings match the preset profile.
    See TuneD log file ('/var/log/tuned/tuned.log') for details.

    現在のプロファイルを確認します。

    tuned-adm active
    tuned-adm profile throughput-performance
tuned-adm verify
tuned-adm active




    よく使うtuned-admコマンド一覧

    運用でよく使うコマンドを整理すると、以下のようになります。

    コマンド用途
    tuned-adm list利用可能なプロファイル一覧を表示
    tuned-adm active現在の有効プロファイルを確認
    tuned-adm recommend推奨プロファイルを確認
    sudo tuned-adm profile <profile>プロファイルを適用
    tuned-adm verify設定がプロファイル通りか確認
    sudo tuned-adm offTuneDによるチューニングを無効化

    まずは以下の3つを覚えておけば十分です。

    tuned-adm active
    tuned-adm recommend
    tuned-adm verify



      virtual-guestとは

      virtual-guest は、仮想マシン向けのTuneDプロファイルです。

      以下のような環境でよく使われます。

      VMware上のRHEL
      KVM上のRHEL
      クラウドインスタンス上のRHEL
      仮想化基盤上のゲストOS

        例えば、以下のように表示されている場合です。

        # tuned-adm active
        Current active profile: virtual-guest

        この場合、現在のRHELでは仮想マシン向けのTuneDプロファイルが有効です。

        仮想マシンでは、CPUやディスクをゲストOSが直接制御しているように見えても、実際にはハイパーバイザー上で動作しています。
        そのため、物理サーバ向けの強いチューニングよりも、仮想環境に適した virtual-guest が安定する場合があります。



        tuned-adm verifyは何を確認しているのか

        tuned-adm verify は、現在のOS設定がTuneDプロファイル通りに反映されているかを確認するコマンドです。

        # tuned-adm verify
        Verification succeeded, current system settings match the preset profile.

        これは、現在の設定がTuneDプロファイルと一致していることを意味します。
        ただし、注意点があります。
        verify成功は、性能が最適化されたことを意味しません。
        あくまで、以下を確認しているだけです。

        TuneDプロファイルが正しく反映されている
        現在のOS設定がプロファイル定義と一致している

          性能が本当に改善しているかは、実際に測定する必要があります。



          TuneDは自動で最適な設定を選ぶのか

          TuneDは、ベンチマークを自動実行して最速のプロファイルを選ぶツールではありません。

          たとえば、TuneDは以下のようなことは行いません。

          sarでCPU使用率を比較する
          iostatでI/O性能を比較する
          fioでディスク性能を測る
          wrkやabでWeb性能を測る
          複数プロファイルを比較して最速設定を自動採用する

          TuneDの役割は、用途別に用意されたプロファイルを適用し、チューニング設定を管理しやすくすることです。

          つまり、TuneDは 自動チューニングAIではなく、RHELのチューニング設定を標準化するための仕組み です。



          OSインストール時にTuneDはどう決まるのか

          RHELインストール後、すでにTuneDプロファイルが設定されていることがあります。

          例えば、仮想マシン上のRHELでは以下のようになることがあります。

          Current active profile: virtual-guest

          これは、RHELが環境を認識し、TuneDの推奨ルールに基づいてプロファイルを選んでいるためです。

          判断材料の例は以下です。

          物理サーバか仮想マシンか
          仮想化環境の種類
          CPUやディスクなどの環境
          インストール済みプロファイル
          TuneDの推奨ルール

          ただし、OSインストール時にベンチマークを実行して最適なプロファイルを選んでいるわけではありません。

          インストール時のTuneD設定は、環境に応じた初期推奨値 と考えるのが正しいです。



          代表的なTuneDプロファイル

          TuneDには複数のプロファイルがあります。

          プロファイル用途
          balanced性能と省電力のバランス
          virtual-guest仮想マシン向け
          virtual-host仮想化ホスト向け
          throughput-performanceスループット重視
          latency-performance低遅延重視
          network-throughputネットワーク性能重視
          powersave省電力重視

          選び方の目安は以下です。

          サーバ用途候補プロファイル
          一般的な仮想マシンvirtual-guest
          DBサーバthroughput-performance
          バッチサーバthroughput-performance
          Webサーバvirtual-guest または throughput-performance
          APIサーバvirtual-guest または latency-performance
          検証環境balanced または powersave
          仮想化ホストvirtual-host




          TuneDで最適化する手順

          TuneDで性能チューニングする場合は、次の流れがおすすめです。

          1. 現在のプロファイルを確認する
          2. 変更前の性能を測定する
          3. 候補プロファイルを適用する
          4. 同じ条件で再測定する
          5. 結果を比較して採用する
          6. 効果がなければ戻す

          まず、現在の状態を確認します。

          tuned-adm active
          tuned-adm recommend
          tuned-adm verify

          次に、変更前の性能を測定します。

          sar -u 1 60
          mpstat -P ALL 1 60
          iostat -xz 1 60

          Web/APIサーバなら、以下のようなツールで測定します。

          wrk -t4 -c100 -d60s http://対象URL/

          ディスク性能を確認する場合は fio を使います。

          fio --name=randread \
          --filename=/tmp/fio-test \
          --size=1G \
          --rw=randread \
          --bs=4k \
          --iodepth=16 \
          --runtime=60 \
          --time_based \
          --direct=1

          本番環境では、本番データ領域ではなく検証用領域で実行してください。

          その後、候補プロファイルを適用します。

          tuned-adm profile throughput-performance

          または、低遅延重視なら以下です。

          tuned-adm profile latency-performance

          適用後、同じ条件で再測定し、結果を比較します。

          確認するポイントは以下です。

          観点確認項目
          CPU使用率、iowait、CPUごとの偏り
          ディスクawait、%util、r/s、w/s
          Web/APIRPS、平均応答時間、p95、p99、エラー率
          バッチ処理完了時間、CPU使用率、I/O待ち
          DBTPS、クエリ応答時間、iowait、await

          効果がなければ元に戻します。

          tuned-adm profile virtual-guest



          チューニング時の注意点

          TuneDを使う際は、以下に注意してください。

          verify成功は性能改善を意味しない
          変更前後で必ず測定する
          変更は1つずつ行う
          本番適用前に検証する
          戻し手順を用意する
          fioは本番データ領域で不用意に実行しない

          TuneDは簡単にプロファイルを切り替えられる反面、用途に合わないプロファイルを選ぶと期待した効果が出ない場合があります。



          まとめ

          TuneDは、RHELの性能チューニングをプロファイル単位で管理できる便利なサービスです。

          特に、以下の点でサーバ運用に役立ちます。

          現在のチューニング状態を確認しやすい
          用途別プロファイルを簡単に適用できる
          設定を戻しやすい
          サーバごとの設定を標準化できる
          Ansibleなどで自動化しやすい

          まずは以下の基本コマンドを覚えておきましょう。

          dnf install tuned -y
          systemctl enable --now tuned
          tuned-adm list
          tuned-adm active
          tuned-adm recommend
          tuned-adm verify

          現在のプロファイルが virtual-guest で、tuned-adm verify が成功しているなら、仮想マシンとしては自然な状態です。

          ただし、それが性能面で最適とは限りません。

          本当に最適化するには、virtual-guest を基準に、throughput-performancelatency-performance を比較し、sariostatmpstatfiowrk などで変更前後を測定することが重要です。

          コメント

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