[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
init_connect='SET NAMES utf8'
default-character-set=utf8
innodb_file_per_table
skip-character-set-client-handshake
[mysqld]
[color=FF0000]datadir=/var/lib/mysql[/color]
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
init_connect='SET NAMES utf8'
default-character-set=utf8
innodb_file_per_table
skip-character-set-client-handshake
KAZ - 投稿数: 1085
peyonさん
書かれた内容では誰もコメントしようがないと思います。A(^^;
どのバージョンのZabbixを使っているのか?
DBは何を使用しているのか?
すいませんが、上記の様な情報を教えてもらえますか?
fripper - 投稿数: 495
推測ですが…
監視サーバのスペックに対して、監視対象のホスト数や
監視対象項目数が多すぎて、データベースの更新が
間に合っていない可能性が思い当たります
kodaiさんがおっしゃる通り、zabbix サーバのバージョンや
OS等の情報とともに、監視対象の台数や項目数、
監視サーバマシンのおおまかなスペック情報も
あわせて記載されると、アドバイスがうけやすいかと思います
peyon - 投稿数: 38
ありがとうございます。
OSはCentOS
CPUはIntel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
メモリは512MB
zabbixのバージョンは1.6.9
DBはMySQL
監視ホストは500、アイテム数は5000、1ホストにつき10アイテム。
アドバイスよろしくお願いします。
KAZ - 投稿数: 1085
peyonさん
メモリ512でその監視はちょっと…A(^^;
ちなみにMySQLのエンジンはMyISAMですか?
それともInnoDBですか?
MyISAMだとかなり厳しいです。
MySQLはどのようなチューニングをしてますか?(デフォルトですか?)
peyon - 投稿数: 38
そうですよね;
メモリはどのくらいあったら良いですか?
/etc/my.cnfは以下です。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
init_connect='SET NAMES utf8'
default-character-set=utf8
innodb_file_per_table
skip-character-set-client-handshake
[mysql]
default-character-set=utf8
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
デフォルトはinnodbですよね?
show variables;を見たらinnodbなんとかってあるのでinnodbです。
KAZ - 投稿数: 1085
peyonさん
監視間隔にもよりますが、MySQLには2GBほど渡したいので、その他を考えると3〜4GBはあった方が良いかと。
いえ、MyISAMです。
インストールしたZabbixはZABBIX-JP製の1.6.9-1か1.6.9-2じゃないですか?
本家とZABBIX-JP製のrpmは微妙に違いがありますので、その当たりも情報として書いて頂けると話が楽に進んだりします。
■my.cnfですが…
「innodb_file_per_table」が設定してますが、ちゃんと有効になってますでしょうか?
MySQLの設定は最初にやっておかないと結構面倒だったりします。A(^^;
詳しくは下記を参考にして下さい。
[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=127&forum=2&viewmode=flat&order=DESC&start=10]zabbix速度チューニング[/url]
kodai - 投稿数: 1341
こんにちは。横入りで失礼します
1.6系くらいからinnodbがデフォルトになってたと思います。
KAZさんの通り、5000監視項目あるようですと2GB〜4GB程度はメモリがないとキツいと思います。
チューニングパラメータとしては
innodb_buffer_pool_size
innofb_log_file_size
あたりを調整すればかなり改善されますが、どちらもメモリ割り当てのパラメータなので、物理メモリが少ないと大幅な改善は期待できないと思います。
とりあえず、
innodb_buffer_pool_size=128M
とでもしてみるとどうなるでしょうか?
KAZ - 投稿数: 1085
peyonさん
kodaiさん
書き方悪かったみたいです。
MySQLのデフォルト・エンジンはMyISAMと言う意味でした。
なのでInnoDB使う時はcreate databaseする前に、my.cnf等を設定してやらないと、せっかくのinnodb_file_per_tableの効果が無いかなと…
peyon - 投稿数: 38
エンジンはInnoDBになっていました。
Engine: InnoDB
innodb_buffer_pool_sizeは8388608B(8MB)だったので128MBにしてみます。
innodb_buffer_pool_sizeを上げてメモリ割り当てを増やすにはメモリが2G〜4Gは必要ということなのでしょうか。
あと、外部チェックで必ず10秒かかり監視間隔が60秒のアイテムがありそれがよくキューにいるのですが監視間隔が短いほどキューにたまりますか。
KAZ - 投稿数: 1085
peyonさん
InnoDBのチューニングの前に「innodb_file_per_table」が有効か確認された方が良いです。
※:my.cnfに書かれていても有効になってない場合があります。
zabbixの使用しているdatadir配下のフォルダにテーブル単位にファイルができていますか?できてない場合は「innodb_file_per_table」が有効じゃありません。
その場合、MyISAMを使用しているよりも遅くなる時があります。
対処する場合は返答で書いた「zabbix速度チューニング」を読んで下さい。
peyon - 投稿数: 38
ありがとうございます。
/var/lib/mysql内に
ibdata1
ib_logfile0
ib_logfile1
があります。
datadirはないです。
KAZ - 投稿数: 1085
peyonさん
datadirはmy.cnfに書いてあるみたいですが…A(^^;
なので、/var/lib/mysql配下にzabbixのデータベースを作ってあるはずです。
ZABBIX-JP版なら「zabbix」と言うdirです。
本家のtar.gzを使用されている場合は、create database文で作っているはずなので、そこです。
その配下にあるファイルがテーブル単位だとinnodb_file_per_tableが有効です。
下記とかも参考にされた方が良いかと。
[url=http://hibinokoto.jp/archives/2008/03/post-257.html]/var/lib/mysql/ibdata1 の圧縮 - 日々のこと[/url]