これまでDBT-1実行のための前準備を行ってきたが、今回はいよいよテストを実行してみよう。DBT-1のテストは「dbt1_slave.pl」と「dbt1_master.pl」の2つのスクリプトを実行させることで、自動的に行われる。

それでは、まず最初にdbt1_slave.plを実行しよう。


$ cd data_collect
$ ./dbt1_slave.pl & 

dbt1_slave.plは、TCPの2345番ポートを開き、一連のアプリケーションサーバ機能を起動させる。なお、dbt1_slave.plスクリプトの9行目で「Can't exec "ulimit":」というエラーメッセージが表示されるが、これは無視してもかまわない。

続けて、dbt1_master.plを実行する。-fオプションで、前回設定したrun.configファイルを指定しよう。


$ cd pgsql
$ dbt1_master.pl -f run.config

これでテストが開始される。テスト実行中、ターミナルの画面には以下のようなメッセージが表示される。


checking result...
rec is 2
connection established.
connection established.
connection established.
connection established.
     :
     :

NOTICE: flag=1 _c_id=161920 c_fname= zB ~GDK c_lname=RL-K+(e%n}_R+XF _c_discount=0.000000
NOTICE: flag=1 _c_id=180213 c_fname=e7c1MCak,=w+D_ c_lname=/[9P.d#]xwRcX- _c_discount=0.000000
NOTICE: flag=1 _c_id=196288 c_fname=&cnqh||xTh8 c_lname=^6}[j@Y,M} _c_discount=0.000000
NOTICE: flag=1 _c_id=102239 c_fname=zxi8lD)r&-8SahF c_lname=su)v:c_lQ _c_discount=0.100000 
     :
     :

「checking result...」が延々と繰り返されたり、「connection refused」というメッセージが表示されて接続に失敗してしまう場合、どこかの設定が間違っている。PostgreSQLがTCP/IPによる接続を受け付けるようになっているかなど、設定を細かく見直そう。どうしてもうまくいかない場合は、頭をリセットしてDBT-1の導入を最初からやり直してみよう。

さて、テストの実行中、DBT-1はさまざまな情報を収集し記録している。すべての情報はrun.configの「out_dir」に指定したディレクトリに出力されているので、テストの実行が完了次第、結果の検証を行っていこう。出力されるファイルには、以下のようなものがある。


BT
config.txt
readme.txt
param.out
indexes.out
run.iostat.txt
run.meminfo0.out
run.meminfo1.out
run.vmstat.out
mix.log.42352
result.mix.log
ips.csv

db_stat/
	db_activity0.out(~16)
	db_load0.out(~16)
	index_info0.out(~16)
	indexes_scan0.out(~16)
	lockstats0.out(~16)
	table_info0.out(~16)
	table_scan0.out(~16)
	tran_lock0.out(~16)
ipcs/
	ipcs0.out(~16)

この中で、まず見ておきたいのが「BT」というファイルだ。


Interaction                 %%  Avg. Response Time (s)
Admin Confirm            0.08                   0.044
Admin Request            0.09                   0.042
Best Sellers             5.04                   0.050
Buy Confirm              1.12                   0.051
Buy Request              2.54                   0.057
Customer Registration    2.93                   0.000
Home                    16.33                   0.042
New Products             5.13                   0.051
Order Display            0.64                   0.058
Order Inquiry            0.72                   0.041
Product Detail          16.97                   0.042
Search Request          19.92                   0.000
Search Results          16.86                   0.053
Shopping Cart           11.64                   0.051

60.7 bogotransactions per second
16.0 minute duration
total bogotransactions 58296
total errors 0

このファイルには「インタラクション」つまりオンラインショップで行われる活動の種類ごとにかかった時間や、全体に対する割合が記録されている。さらに、性能を測る指標が「bogotransactions per second」として提示されている。これは、Webサイト上で毎秒どれだけのリクエストが処理できているかを表している。つまり、今回実験を行ったサーバでは、毎秒60件ぐらいのリクエストが処理できるわけだ。

さて、次回はもう少し詳しくDBT-1の出力する結果を見てみよう。