HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife
HammerDB 4.0がリリースされていた - 環境構築 - なからなLife
の続きです。
基本的な手順は同じなので、差があるところだけ
対象データベースからRedisが消えている件
hammerdb>dbset db help Unknown prefix help, choose one from ora mssqls db2 mysql pg
Redisが消えてますね。
で、「config.database.xml のコメントアウトを外すと選択できるようになる」とのことでしたので、早速そのファイルを覗きに行くと、何やらもう1つ知らないものが。
どうやら、Apache trafodion(https://trafodion.apache.org/)に対応しようとしている形跡があります。
もちろんサポート外だからコメントアウトされているのだと思います。ドキュメント上にも一切出てきません(Redisもマニュアルから削除されてます)
trafodion環境をサクっと作れる人がいたら、動くかどうか試してみて下さい。
ベンチマーク種別の名称変更
ベンチマークの種類を選択するところ、名称変更の影響は、以下のように従来の名称「TPC-C」「TPC-H」でも通るようになっています。
hammerdb>dbset bm help Unknown benchmark HELP, choose one from TPROC-C (or compatible names TPC-C)
「print dict」したときに出てくる設定カテゴリは相変わらず「tpcc」、「tpch」のままですね。
余談ですが、ここまで「help」って打っているところ、別にhelpモードじゃなくて、エラー起こしてメッセージ表示させているだけです。。。
MySQL TPC-C (TPROC-C)
項目が増えています。
hammerdb>print dict
Dictionary Settings for MySQL
connection {
mysql_host = 127.0.0.1
mysql_port = 3306
mysql_socket = /tmp/mysql.sock
}
tpcc {
mysql_count_ware = 1
mysql_num_vu = 1
mysql_user = root
mysql_pass = mysql
mysql_dbase = tpcc
mysql_storage_engine = innodb
mysql_partition = false
mysql_prepared = false
mysql_total_iterations = 1000000
mysql_raiseerror = false
mysql_keyandthink = false
mysql_driver = test
mysql_rampup = 2
mysql_duration = 5
mysql_allwarehouse = false
mysql_timeprofile = false
mysql_async_scale = false
mysql_async_client = 10
mysql_async_verbose = false
mysql_async_delay = 1000
mysql_connect_pool = false「connection」に「mysql_socket」が、「tpcc」に「mysql_prepared」「mysql_async_scale」「mysql_async_client」「mysql_async_verbose」「mysql_async_delay」「mysql_connect_pool」が増えています。
増えた項目の説明をざっくりと。
| 名称 | 説明 | 初期値 |
|---|---|---|
| mysql_socket | いわゆるローカル接続(クライアント=HammerDBとMySQLサーバーが同じサーバー上にいるとき、TCP/IPの代わりにソケットファイルで接続する、そのファイルの場所を指定。 | /tmp/mysql.sock |
| mysql_prepared | サーバーサイドプリペアドステートメント使用オプション。新機能「XML意味 Connect Pool(クラスター環境での複数インスタンス接続)」実施時にはtrue必須。 | false |
| mysql_async_scale | イベント駆動型スケーリング機能を有効化する。連動してKeying and ThinkingTimeオプションも有効になる。 | false |
| mysql_async_client | 各仮想ユーザーがデータベースに接続して管理するセッションの数を構成する際の、非同期ユーザの数。num_vu*async_clientがアクティブ接続数になる。 | 10 |
| mysql_async_verbose | キーイングにかかった時間や思考時間などの非同期操作を報告する。 | false |
| mysql_async_delay | 各仮想ユーザーが各非同期クライアントにログオンする前に許可する遅延。 | 1000 |
| mysql_connect_pool | クラスター構成における各接続プールに対する挙動をxmlで制御するか否かのスイッチ。 | false |
PostgreSQL TPC-C (TPROC-C)
項目が増えています。
hammerdb>print dict
Dictionary Settings for PostgreSQL
connection {
pg_host = localhost
pg_port = 5432
}
tpcc {
pg_count_ware = 1
pg_num_vu = 1
pg_superuser = postgres
pg_superuserpass = postgres
pg_defaultdbase = postgres
pg_user = tpcc
pg_pass = tpcc
pg_dbase = tpcc
pg_tspace = pg_default
pg_vacuum = false
pg_dritasnap = false
pg_oracompat = false
pg_storedprocs = false
pg_total_iterations = 1000000
pg_raiseerror = false
pg_keyandthink = false
pg_driver = test
pg_rampup = 2
pg_duration = 5
pg_allwarehouse = false
pg_timeprofile = false
pg_async_scale = false
pg_async_client = 10
pg_async_verbose = false
pg_async_delay = 1000
pg_connect_pool = false
}
「tpcc」に「pg_tspace」「pg_async_scale」「pg_async_client」「pg_async_verbose」「pg_async_delay」「pg_connect_pool」が増えています。
「pg_tspace」以外は、MySQL側に増えたものと同じなので割愛します。
「pg_tspace」は、スキーマを作成するテーブルスペース名で、デフォルトは「pg_default」です。
PostgreSQL TPC-H (TPROC-H)
「pg_tspace」が増えています。TPC-Cのものと同じですので、割愛します。
Redis TPC-C (TPROC-C)
項目が増えています。
tpcc側に4つ、connect_poolがないだけで、MySQLと基本的に同じ内容なので、割愛します。
Redisはもう非推奨でサポートしないって言ったのに、律儀にパラメータ増えてる。(そのとおり動くかは不明)
Trafodion TPC-C (TPROC-C)
ドキュメントに記載がないのですが、print dictすると項目が出てきます。
vmconf
buildした環境に対して負荷を走らせる仮想クライアント「VM」の設定情報は各DB、ワークロードともに共通で「print vmconf」で確認できますが、この設定情報の項目について、変更はありませんでした。
設定関係はここまでです。
まとめ
- 新機能に関連した項目が増えている
- サポート外のRedisと、さらに隠れキャラのTrafodionについて、設定項目は追加されているが、ドキュメントは一切なし。
次は、とりあえず動かしてみて、普通に動くことを確認したら、新機能の方に移っていこうと思います。