さお今回は「OSDL DBT-1」によるテストを実行するための、最終的な蚭定を行っおいこう。この蚭定の内容は、あらかじめDBT-1のアヌキテクチャをある皋床理解しおおかないずチンプンカンプンになっおしたう。そのため、たずは倧前提ずなるシステム構成を把握しおおこう。DBT-1は、䞋図のような3局のシステム構成を想定しおいる。

DBT-1が想定しおいる3局のシステム構成

DB(デヌタベヌス)サヌバに぀いおは、今回の堎合はPostgreSQLである。アプリケヌションサヌバは、オンラむンショップのフロント゚ンドずなるWebアプリケヌションの皌働するサヌバず考えればよいだろう。もうひず぀の「ドラむバ」は、䜕かのデバむスドラむバずかODBCドラむバだず思った読者もいるだろうが、そうではない。これは顧客の動きを゚ミュレヌトするためのプログラムを指すものず考えられる。これを念頭に、data_collect/pgsqlディレクトリ䞋にあるrun.configファむルの各パラメヌタを蚭定しおいこう。

たず、デヌタベヌスサヌバに関する蚭定を行う。「items」パラメヌタには、デヌタ生成のずきず同様、オンラむンショップの商品数を指定しよう。datagenに-iオプションで䞎えた倀ず同じ倀を蚭定すればよい。次に「dcustomers」パラメヌタを蚭定する。マニュアルによるず、このパラメヌタにはdatagenの際に-uで指定した倀に2880を掛けた倀を蚭定するようだ。あずは、デヌタベヌスのホスト名(dbhost)、デヌタベヌス名(bdbname)、デヌタベヌス接続に䜿甚するナヌザ名(username)ずパスワヌド(password)を、それぞれ蚭定する。


# database config
items:1000
gcustomers:288000
dbhost:localhost
bdbname:DBT1
username:pgsql
password:pgsql

続けお、アプリケヌションサヌバの蚭定を行う。たずはキャッシュシミュレヌション関係の蚭定だ。「cache」パラメヌタを0に蚭定するず、䞀切キャッシュを䜿わない想定でテストが行われる。1に蚭定するず、Webキャッシュが利甚されるこずを想定したテストになる。぀たり、毎回デヌタベヌスぞの問い合わせを実行しないので、より良奜な結果が出やすくなるわけだ。具䜓的には、販売する曞籍の「タむトル」ず「著者名」が同䞀の結果に関しおは、Webキャッシュからレスポンスを返すようになるらしい。


# cache config
cache:1
xcache_host:localhost
lcache_port:9999
mconnection:10

アプリケヌションサヌバ本䜓の蚭定も行おう。ここではアプリケヌションサヌバのホスト名、ドラむバずの接続に䜿甚するポヌト、アプリケヌションサヌバ-DBサヌバ間の接続数などを蚭定する。


# appServer config
server_host0:localhost
nserver_port0:9992
q_size0:100
a_size0:100
rconnection0:20

なおDBT-1では、これら各パラメヌタ名の末尟の「0」を1、2、3 ずむンクリメントしお耇数蚭定するこずで、アプリケヌションサヌバが䞊列で皌働する堎合のシミュレヌションも行える。

あずは、ドラむバの蚭定を行う。


# dbdriver config
ydriver_host0:localhost
vrate0:60
eus0:100
zduration0:900
think_time0:1.6
jdriver_server_host0:localhost
kdriver_server_port0:9992

パラメヌタはそれぞれ、ドラむバの皌働するホスト名(ydriver_host)、ドラむバで゚ミュレヌトするナヌザ数(eus)、ワヌクロヌドを実行する秒数(zduration)、顧客が「考え䞭」で操䜜を埅぀平均秒数(think_time)、アプリケヌションサヌバず接続するためのホスト名(jdriver_server_host)ずポヌト(kdriver_server_port)だ。ドラむバもアプリケヌションサヌバず同様、末尟の数字をむンクリメントしお増やすこずができる。

最埌に、結果の出力に関する蚭定は次のようになる。


out_dir: /tmp
db_param:-c tcpip_socket=on
redirect_tmp:1
redirect_xlog:1

out_dirにはテスト結果の出力先を指定する。db_param、redirect_tmp、redirect_xlogは、それぞれbuild_db.shを実行した際ず同じ倀を蚭定しよう。

さお、以䞊で蚭定は完了。実は筆者もただ実際のテストを実行しおみおいないので、これでちゃんず動くかどうかは次回のお楜しみにしよう。おそらく、䜕かほかにも調敎すべきこずが残っおいるような気がするが、次回はそれも含めお怜蚌結果の報告を行う。