1.8.1-1.JPから1.8.2-1.JPへ移行で動作不良?!

いつも大変お世話になります。
1.8.2-1.JPがリリースされたということでさっそく試験移行してみました。

まず、1.8.1-1.JPからDBのdump実施。

# mysqldump -uroot -x -F zabbix > db.dmp

これをCentOS5.5に導入した1.8.2-1.JPに

# mysql -uroot zabbix < db.dmp

で、DB戻し実施。(4hほどかかりました。)

ブラウザでログインし正常起動を確認。

しかし、以下のような不具合(?!)が出ています。

?かなり動作が重い。(表示など)
→チューニング項目があるのでしょうか?!
→既出のStartTrappers?!

?NW機器のトラフィック取得(ifInOctets等)が途切れるか、取得できない。
→snmpでifInOctets.xxxを取得しています。
→アイテムの設定項目は問題ないようです。

DB移行の手順も含めて、正しい、1.8.1-1.JPからの移行を
教えていただきたいです。
負荷が大きいのはわかっていましたが1.8.1-1.JPではまあまあ
安定していて1.8.2-1.JPでかなり期待していたので修正しなけ
ればならないアイテム設定があるものと考えています。 

リリースまもないので皆さん評価の最中だと思います。
お忙しいところ申し訳ありませんが
よろしくお願いします。

コメント表示オプション

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

fineさん

DBが重そうな雰囲気ですが…
1)swapは発生していますか?
2)メモリはどの程度ありますか?
3)/etc/my.cnfはどの様な設定ですか?
4)CentOS5.5はVMWare等の上に立っていますか?

ユーザー fine の写真

KAZさん
お世話になります。

まず、仮想化サーバで実行しています。
VMwareESXi4.0.0のゲストOSとして
1.8.1-1.JP(CentOS5.4)、1.8.2-1.JP(CentOS5.5)の
二つがあります。必ず片方はOFFになっています。

1)SWAP in、out ともに0が続いています。

2)2CPU,4GB割り振りです。

3)/etc/my.cnfはdefault状態に以下行を追加しました。
[mysqld]
default-character-set=utf8
skip-character-set-client-handshak
innodb_buffer_pool_size = 512M

何とか動作していた1.8.1-1.JPのdb.dmpを1.8.2-1.JPに
当てるとこんな感じです。

よろしくお願いします。

ユーザー KAZ の写真

fineさん

MySQLのEngineはInnoDBを使用しているのでしょうか?

下記のコマンドで確認してみて下さい。
<code>
mysql>show table status;
</code>

また、InnoDBの場合は[mysqld]セクションにinnodb_file_per_tableを指定しないと、パフォーマンスが悪化しやすいようです。下記はCentOS5.4上に立てた検証環境のmy.cnfです。
<code>
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# 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

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8
</code>

my.cnfにinnodb_file_per_tableを設定しdatadirを再作成すれば、テーブル単位にindexが作られるようになります。

■datadirを再作成
<code>
1)テーブルをInnoDBとして再作成(※1)
ALTER TABLE {テーブル名} TYPE=InnoDB

2)ダンプ
mysqldump -u {アカウント} -p{パスワード} -x -F {データベース} > {ダンプファイル名}

3)MySQLの停止
service mysqld stop

4)datadirを退避(※2)
mv {datadirで指定されたdir} {退避先dir}

5)my.cnfを修正
※:これ以降でmy.cnfを直しても意味がないです。

6)datadirの再作成
mysql_install_db --user=mysql --datadir={datadirで指定されたdir}
</code>
6)の後、create database等を行い、データを戻せば完了です。

※1:InnoDB化されている場合は1)を行わなくてもOKです。
※2:上手くいかない時は、mvしたdirを戻せば元に戻ります。

ユーザー fine の写真

KAZさん
お世話になります。

show table status;
は、
すべてのtableがinnodbになっていて
88 rows in set
です。

いろいろ調べて上記内容はある程度知っていたのですが
敷居が高そうなのとまあまあ動作していたのでそのままに
なってました。

じっくり読んでやってみたいと思います。

ちなみに、
ZabbixServerのアイテムが12ほど不明になっています。
いつもならZabbixの再起動で復活してくるのですが。
NW機器のアイテムは飛び飛びでも取得しますが、
ZabbixServerのアイテムはなかなか復活しません。

おそらく、
DB関連だと思います。

ユーザー KAZ の写真

fineさん

show table status;
は、
88 rows in set
です。

えーっと、そこでなくてですね…A(^^;

縦・横に長いので途中省略しますが、Commentカラムのところに「InnoDB free: ? kB」と出ていればInnoDBです。
<code>
mysql> show table status;
+-----------------------+--------+---- 〜中略〜 --+------------------------+
| Name | Engine | Ver 〜中略〜 s | Comment |
+-----------------------+--------+---- 〜中略〜 --+------------------------+
| acknowledges | InnoDB | 〜中略〜 | InnoDB free: 0 kB |
| actions | InnoDB | 〜中略〜 | InnoDB free: 0 kB |
</code>

↓フォーラムのここらへんも参考になるかと。
[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=127&forum=2&post_id=581#forumpost581]zabbix速度チューニング[/url]

結構質問が多いところなので、OSCとかでZabbix向けMySQLのチューニングとか資料を配ったり講座を開いたりした方が良いでしょうか?

ユーザー fine の写真

KAZさん
お世話になります。

失礼しました。

確かに以下のようになってます。

すべてのtableで、
innnoDB free: 185xxx kB
てな感じです。

過去記事じっくり読んでみます、

セミナー講座大歓迎です。
是非お願いします。

ありがとうございました。