【コラム】

システムの評価、できてますか?

22 「OSDL DBT-1」を試してみる - テストを実行するための最終的な設定

22/25

さて今回は「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を実行した際と同じ値を設定しよう。

さて、以上で設定は完了。実は筆者もまだ実際のテストを実行してみていないので、これでちゃんと動くかどうかは次回のお楽しみにしよう。おそらく、何かほかにも調整すべきことが残っているような気がするが、次回はそれも含めて検証結果の報告を行う。

22/25

インデックス

連載目次
第25回 Webサーバの定量評価 - アクセスログとデータマイニング
第24回 「OSDL DBT-1」を試してみる - DBT-1の出力結果
第23回 「OSDL DBT-1」を試してみる - テストを実行してみよう
第22回 「OSDL DBT-1」を試してみる - テストを実行するための最終的な設定
第21回 「OSDL DBT-1」を試してみる - サンプルデータの作成
第20回 「OSDL DBT-1」を試してみる
第19回 OSDL Database Test Suiteでデータベースを評価する
第18回 トリアージ値の定量化はいかにして行われたか
第17回 トリアージ値、ご存知ですか?
第16回 セキュリティの国際基準を見てみよう
第15回 セキュリティの定量評価(1)
第14回 使いやすさの定量評価 ユーザの操作をロギングする
第13回 「使いやすさ」の定量評価
第12回 ハードディスクの温度をグラフ化する
第11回 もっと高度なS.M.A.R.T監視を体験
第10回 ハードディスクをS.M.A.R.Tで診断
第9回 Webサーバの信頼性を計算したい! - 信頼性と「バスタブ」のいろいろ
第8回 信頼性評価のキホン
第7回 身近な定量評価 - sa2で毎日のレポート
第6回 身近な定量評価その4 - Mac OS Xでの情報収集
第5回 身近な定量評価その3 - perfmon.exeで継続的に情報収集
第4回 身近な定量評価その2 - Windowsのperfmon.exeを使ってみる
第3回 定量的な評価を身近で体験してみる
第2回 定性的と定量的って?
第1回 「反省」するだけじゃダメ、失敗を評価してますか?

もっと見る



人気記事

一覧

イチオシ記事

新着記事