[1.6.8]イベント画面の表示速度

こんにちは

複数ホストを対象にしたイベント画面の表示が非常に遅く、表示される前にセッションタイムアウトが発生しております。このままだと運用にのせることができないので、対処方法がありましたらご教授いただけないでしょうか。

CPU 1.6GHz
メモリ 2GB

Linux 2.6.18
ZABBIX 1.6.8
MySQL 5.0.45

ホスト数(hosts):86
アイテム数(items):6468
イベント数(events):156406

innodb_file_per_table
innodb_buffer_pool_size=1536M
innodb_log_file_size=256M
innodb_log_files_in_group=2

宜しくおねがいいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー cinnamon の写真

補足:
イベントの更新間隔は300秒です。
但し、ログファイル監視のみ30秒にしています。

ユーザー TNK の写真

1台のサーバに、zabbix-server、mysqld、httpdも共存させていらっしゃると思われるのですが、そうであるならば、メモリが2GBであるの対してinnodb_buffer_pool_sizeのサイズが、少し大きいような気がします。
vmstatコマンドなどを利用して、頻繁にスワップが発生してしまっていないか確認してみて下さい。
topコマンドなどを利用して、多くCPUやメモリを使用しているプロセスが何であるかもご確認下さい。

あとは、サーバの処理性能に対してアイテム数が多いのではないでしょうか?

CPUのクロックが、1.6GHzとのことですが、具体的に何というCPUを利用されていますか?
もしも、古いサーバを利用されている場合は、クロック数だけでは判断できない場合があります。

また、Webフロントエンドの「監視データ」->「ダッシュボード」にある「1秒あたりの監視項目数」の値はどの程度ですか?
同じくWebフロントエンドの「管理」->「キュー」で長時間キューにたまってしまっているものはありませんか?

キューに多くたまってしまっているようであれば、まだメモリ等のチューニングの余地はあるとは思いますが、アイテム数を減らすか、チェック間隔をさらに伸ばすことも検討して頂く必要があると思われます。

ユーザー TNK の写真

先に、innodb_buffer_pool_sizeのサイズが、少し大きいような気がすると書きましたが、もっとメモリの少ないサーバを利用して、innodb_buffer_pool_sizeの値を、より空きメモリの少ない状態にしてもスワップが発生しなかったので、今のままでも問題無いかもしれません。

実際のサーバのメモリの利用状況を確認してご判断ください。

また、書き忘れましたが、サーバのロードアベレージが高いかもご確認ください。
CPUの利用状況として、iowaitが多いようであれば、ディスクのI/Oの性能がボトルネックになっている可能性も考えられます。
CPUの利用状況としてuserが多いようであれば、実際のデータ処理自体にCPUが稼働している状態だと思われます。

整理すると、以下のような対応になるのではないでしょうか。

 ・スワップが発生しておらず、メモリにも空きがある
  -> innodb_buffer_pool_sizeの値を少し大きくする

 ・スワップが多く発生している
  -> innodb_buffer_pool_sizeの値を少し小さくする

 ・ロードアベレージが高く、iowaitの割合が大きい
  -> アイテム数を減らすか、チェック間隔をのばす
  -> より高速なディスクへのリプレースを検討する

 ・ロードアベレージが高く、userの割合が大きい
  -> アイテム数を減らすか、チェック間隔をのばす
  -> より処理性能の高いサーバへのリプレースを検討する

ユーザー kodai の写真

こんにちは。

イベントの数が多い場合、1.6系ではどうしてもイベント画面が遅くなってしまいます。これはデータベースに遅いクエリが投げられるためなので、TNKさんの回答と重複するところがありますが、

- データベースのパフォーマンスチューニングを行う
- アイテム数、トリガー数、監視間隔の見直し

が設定で改善できるポイントだと思います。

それ以上改善するとなると、WebインターフェースのPHPを修正することになると思います。

それから1.8系ではイベント画面の速度も改善されていますので、バージョンアップも検討の対象になると思います。

ユーザー cinnamon の写真

丁寧なご回答ありがとうございます。

iowaitやsi,soは特に発生していませんが、CPU(USER)の使用率が高い状態です。

特に、メンテのために数台のホストの監視を無効にし、数時間後に再度有効にした場合に、問題なることが多いように感じます。

ご指摘いただいたとおり、アイテム数を少し整理してみましたので、しばらく様子を見たいと思います。

ホスト数 51
アイテム数 524
トリガー数 195
1秒あたりの監視項目数 2.3724