HammerDB 4.0がリリースされていた - 設定まわりの変化
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について、設定項目は追加されているが、ドキュメントは一切なし。
次は、とりあえず動かしてみて、普通に動くことを確認したら、新機能の方に移っていこうと思います。