WebアプリのためのベンチマークツールDBT-1を使う使えば分かるPostgreSQL運用&チューニング(2)(3/3 ページ)

» 2008年07月04日 00時00分 公開
[北川俊広SRA OSS, Inc.]
前のページへ 1|2|3       

DBT-1のインストール

 DBT-1をインストールします。今回は、日本OSS推進フォーラムによって整備されたDBT-1(PostgreSQL 版)を、以下から入手します。

 DBT-1のソースコードアーカイブを、pgsqlユーザーのホームディレクトリにダウンロードして展開し、コンパイル、インストールします。

[pgsql]$ tar zxf dbt1-v2.1-PostgreSQL-ODBC-1.2.1.tar.gz
[pgsql]$ cd dbt1-v2.1
[pgsql]$ ./configure --with-postgresql-odbc --without-sapdb
[pgsql]$ make
[pgsql]$ make install

DBT-1のスクリプトの修正

 PostgreSQL 8.3 から、pg_locksというロック状況を表すシステムカタログが変更になったため、そのまま実行するとエラーが発生してしまいます。そのため、~/dbt1-v2.1/scripts/stats/db_stats.sh53行目を以下のように修正します。

修正前】
psql -d $SID1 -c "select * from pg_locks where transaction is not NULL;" -o $OUTPUT_DIR/tran_lock${COUNTER}.out
【修正後】
psql -d $SID1 -c "select * from pg_locks where virtualtransaction is not NULL;" -o $OUTPUT_DIR/tran_lock${COUNTER}.out

DBT-1の実行

 テストデータを作成して、DBT-1を使って測定してみましょう。

テストデータの作成

 テストデータを格納するディレクトリをpgsqlユーザーのホームディレクトリに作成します。

[pgsql]$ mkdir ~/data

 次に、以下のコマンドでテストデータを生成します。

[pgsql]$ cd ~/dbt1-v2.1/datagen
[pgsql]$ ./datagen -d PGSQL -i 10000 -u 1000 -p ~/data

 ここで使用したオプションは以下のとおりです。

-i : 生成するアイテム数

-u : 生成する仮想ユーザー数

-p : 生成したデータを格納するディレクトリ

測定用データベースの作成

 以下のコマンドで測定用のデータベースを作成します。

[pgsql]$ cd ~/dbt1-v2.1/scripts/pgsql
[pgsql]$ ./build_db.sh ' ' 0 0

測定

 以下のコマンドで測定を開始します。

[pgsql]$ cd ~/dbt1-v2.1/scripts/stats
[pgsql]$ ./run_dbt1.sh ~/result

 run_dbt1.shの引数のディレクトリには、測定結果やシステムの状態を表すファイルなどが生成されます。

 測定結果は「BT」という名前のファイルにまとめられており、最終行の「total errors」が0となっていれば、測定成功です。そして、「xx.x bogotransactions per second」が1秒間に処理できるおおよそのトランザクション数、つまりトランザクション処理性能を表しています。


 以上が、DBT-1を動かすまでの流れです。次回は、このDBT-1を使用してPostgreSQLの運用方法について解説していきます。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。