CentOS 7を用途に応じた最適なパフォーマンスにチューニングする方法

CentOS 7を用途に応じた最適なパフォーマンスにチューニングする方法

CentOS 7には、システムパラメーターをチューニングする機能「tuned」が標準で搭載されています。

tunedには、いくつかのプロファイルが用意されており、システムの利用目的に応じて適切なプロファイルを選択することで、システムを稼働した状態でシステムパラーメータを動的に変え、システムのパフォーマンスを向上させることができます。

ここでは、tunedを使ってCentOS 7のパフォーマンスをチューニングする手順を紹介します。

動作環境

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

tunedの使い方

現在の状態を確認する

tuned-adm listコマンドを実行し、適用可能なプロファイルのリストと現在適用されているプロファイルを確認します。

# tuned-adm list

Available profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guest
- virtual-host
Current active profile: virtual-guest

このコマンドを実行したマシンは、Hyper-V上の仮想マシンですので「virtual-guest」というプロファイルが適用されています。

プロファイルを選択する

CentOS 7をサーバー用途で利用する場合、ディスクおよびネットワークのパフォーマンスが重要ですので、物理マシンであればプロファイル「throughput-performance」を選択することでパフォーマンスアップが望めます。

# tuned-adm profile throughput-performance
Memo1

選択可能なプロファイルは「/usr/lib/tuned」ディレクトリにあり、中身を確認するとカーネルパラメータが設定されていることがわかります。また、これらのプロファイルを元に自分のシステムに最適なカスタムプロファイルを作ることもできます。

Memo2

プロファイル「virtual-guest」には「throughput-performance」が含まれています。

あとがき

自分の環境でプロファイルを「virtual-guest」から「throughput-performance」に変更し、ab(apache bench)で計測したところでは、残念ながらパフォーマンスに変化はありませんでしたが、物理サーバーにおいてはtunedでパフォーマンスアップを期待できると思います。

コマンドで簡単に切り替えることができるので、試してみる価値はあるのではないでしょうか。

参考

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/power_management_guide/tuned