2011年3月28日月曜日

Iozoneインストールまとめ

まずは、Linux(CentOS5.5) へのインストール手順。

1.RPMパッケージのダウンロード。
# wget http://packages.sw.be/iozone/iozone-3.327-1.el5.rf.i386.rpm

上記はRHEL5 、 CentOS-5 用。
http://www.iozone.org/src/current/ に他のディストリビューション用がある。

2.RPMパッケージのインストール
# rpm -ivh iozone-3.327-1.el5.rf.i386.rpm

これでインストール終了。


次は、Windows(Windows Server 2008)へのインストール手順。

1.http://www.iozone.org/ からZIPファイルをダウンロ-ドする。

2.解凍する。

3.解凍されたファイルの中のIozoneSetup.exeを実行。

これでインストール終了。


最後に、Iozone実行。

Linux、Windowsともにコマンドラインでの実行。

WindowsではIozoneファイルまで移動してから実行する。
>cd C:\Program files\Benchmarks\Iozone3.353

Iozone -i 0 -i 1 -Rb test01.xls (例)

結果はコマンドラインの画面、または-Rオプションで生成されるエクセルファイルに記述されている。
生成場所は指定可能。

また、Iozoneコマンドには他にも多くのオプションがある。
下記のコマンドで確認できる。
Iozone -help












図 仮想マシン上での結果(OS:CentOS5.5)

2011年3月22日火曜日

zabbix-agent インストールまとめ

1. リポジトリ登録
# rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm

2.zabbix-agent インストール
# yum -y install zabbix-agent

3. 設定ファイル編集(サーバ登録)
vi /etc/zabbix/zabbix_agentd.conf
11行目  Server=175.41.XXX.XXX

ホストの表示名を記入します。
Hostname=ホスト名
サーバ側でホスト登録時に利用します。

次が必要な場合もあります。
28行目 ListenIP=163.43.XXX.XXX (自分のagentIPアドレス)

4. zabbix-agent 開始
# service zabbix-agent start

5. 自動起動
# chkconfig zabbix-agent on

デフォルトではポート10050,10051をあけておく必要があります。

2011年3月20日日曜日

TimerAlwaysFiresプロパティ

投稿テストも兼ねて、以前の開発中に気付いたことのメモをば。

Google App Inventorで時間に関わる処理を利用するときに必須になるのがClockコンポーネントだ。
そのClockコンポーネントにはちょっとクセのあるプロパティ、TimerAlwaysFiresがある。
--------------------------------------------------
TimerAlwaysFires
    true の場合、アプリケーションが画面に表示されていない場合でもタイマーの通知が行われる。
ソフトウェア技術ドキュメントを勝手に翻訳より引用)
--------------------------------------------------

平たく言えば、“そのタイマーをバックグラウンドで動作させるか”と言ったところだろうか。


最初はあまり気にせずに開発を行っていたのだが、アプリをパッケージングした際に問題が発生した。
そのアプリでは一定間隔ごと処理を行って居りボタンクリックで停止する使用だったのだが、以下の手順を踏んだ際にタイマーが不可解な動作をした。
    アプリ起動→戻る→アプリ起動
不可解な動作とは、一定間隔ごとに行われる処理の間隔が短くなり、またクリックしてもタイマーが停止しなくなった。
どうやらアプリを起動するごとにタイマーが二重、三重と動作してるようだ。

そこで重要になってくるのがこのTimerAlwaysFiresプロパティだ。
結局のところ、このプロパティが有効になっていた為、
二度目の起動以降でもそれ以前のタイマーが動作してしまっていた。
このプロパティを無効にしてパッケージングを行うと期待通りの動作をしてくれたことは言うまでもない。

ただ、ここで一つ注意することがある。
エミュレータで動作確認を行う場合、TimerAlwaysFiresプロパティを有効にしておく必要がある。
すべての検証を行ったわけではないが、少なくともTimerInterval(一定間隔の処理)は動作してくれなかった。


エミュレータで開発を行うときと、実機へ転送する際のプロパティが異なるのは非常に面倒である。
やはり、開発を行うときは実機を用いてそれを基準に間髪することが理想だと感じた。



以上、投稿テストを兼ねた個人的なメモでした。