Sidebar

jp:manual:appendix:performance_tuning

10 パフォーマンスチューニング

これはまだ作業中

概要

最大のパフォーマンスを出すために、Zabbix システムを適切にチューニングすることは非常に重要です。

ハードウェア

ハードウェアに関する一般的なアドバイスを次に示します:

  • できるかぎり高速なプロセッサを使用する
  • IDEとSATAよりSCSIまたはSASを選択する(ただしユーティリティhdparmを使用するとIDEディスクのパフォーマンスを大幅に高めることが可能)
  • 7200 RPMよりも10K RPM、10K RPMよりも15K RPMを選択する
  • 高速RAIDストレージを使用する
  • 高速イーサネットアダプタを使用する
  • メモリはできるかぎり増やす

OS

  • OSの最新バージョン(安定版)を使用する
  • カーネルから不要な機能を削除する
  • カーネルパラメータを調整する

Zabbix 設定パラメータ

最適なパフォーマンスを得るために、多くのパラメータを調整できます。

zabbix_server
StartPollers

原則として、このパラメータの値はできるかぎり小さくします。zabbix_serverのインスタンスを1つ追加するたびに既知のオーバーヘッドが増加すると同時に、並列処理数が増加します。最適なインスタンス数になるのは、キューに存在するパラメータの平均数が最も少ない(理想は常に0)ときです。この値は、内部チェックzabbix[queue]を使用して監視できます。

最適なZabbixプロセスの数の設定方法については、このページの一番下の「こちらも参照」セクションを参照してください。
DebugLevel

最適な値は3です。

DBSocket

これはMySQLのみ利用できます。データベース接続にDBSocketを使用することをお奨めします。これが最も速く、最も安全な方法です。

データベースエンジン

Zabbixのチューニングで最も重要なのはデータベースエンジンでしょう。Zabbixは、データベースエンジンの可用性とパフォーマンスに大きく依存しています。

  • 最も高速なデータベースエンジン(すなわちMySQL)を使用する
  • データベースエンジンの安定版リリースを使用する
  • 最高のパフォーマンスを得るためにソースからMySQLまたはPostgreSQLをリビルドする
  • MySQLまたはPostgreSQLのドキュメントに記載されているパフォーマンスチューニング手順を実行する
  • MySQLの場合、InnoDBテーブル構造を使用する
  • MyISAMを使用した場合と比較して、InnoDBを使用した場合Zabbixは少なくとも1.5倍は動作が高速化します。これは並行処理性が高くなるためです。しかしながら、InnoDBは大量のCPUパワーを必要とします。
  • 最高のパフォーマンスを得るためにデータベースサーバのチューニングをおこなうことを強く推奨します
  • 別個のハードディスクにデータベーステーブルを保持する
  • 「history」、「history_str」、「items」、「functions」、「triggers」、「trends」が最も頻繁に使用されるテーブルになる
  • 大規模システムではMySQLの一時ファイルをtmpfsに配置することを推奨します

一般的なアドバイス

  • 必要なパラメータだけを監視する
  • すべてのアイテムの[更新間隔]を調整する。更新間隔を短く設定すれば詳細なグラフを作成できるが、Zabbixが過負荷になる可能性がある
  • デフォルトテンプレートのパラメータを調整する
  • housekeeperのパラメータを調整する
  • 同じ情報を返すパラメータは監視しない
  • 関数の引数として長期間が指定されているトリガーを使用することを避ける。たとえば、max(3600)の計算にはmax(60)を大幅に上回る時間がかかる

こちらも参照


本ページは2013/06/02時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。