clickhouse-benchmark
ClickHouseサーバーに接続し、指定されたクエリを繰り返し送信します。
構文
または
または
クエリのセットを送信したい場合は、テキストファイルを作成し、このファイルの各行に個別のクエリを配置します。例えば:
その後、このファイルを clickhouse-benchmark の標準入力に渡します:
コマンドラインオプション
--query=QUERY— 実行するクエリ。 このパラメータが渡されない場合、clickhouse-benchmarkは標準入力からクエリを読み込みます。--query_id=ID— クエリID。--query_id_prefix=ID_PREFIX— クエリIDプレフィックス。-c N,--concurrency=N—clickhouse-benchmarkが同時に送信するクエリの数。 デフォルト値:1。-C N,--max_concurrency=N— 指定された値まで並行クエリの数を段階的に増加させ、各同時実行レベルごとにレポートを作成します。--precise— 重み付きメトリックを用いた、正確なインターバルごとのレポーティングを有効にします。-d N,--delay=N— 中間レポート間の秒数のインターバル(レポートを無効にするには0を設定)。 デフォルト値:1。-h HOST,--host=HOST— サーバーホスト。 デフォルト値:localhost。 比較モードでは、複数の-hキーを使用できます。-i N,--iterations=N— クエリの総数。 デフォルト値:0(無限に繰り返す)。-r,--randomize— 入力クエリが1つ以上ある場合のクエリ実行のランダム順序。-s,--secure—TLS接続を使用。-t N,--timelimit=N— 時間制限(秒)。 指定された時間制限に達するとclickhouse-benchmarkはクエリの送信を停止します。 デフォルト値:0(時間制限無効)。--port=N— サーバーポート。 デフォルト値:9000。 比較モードでは、複数の--portキーを使用できます。--confidence=N— T検定の信頼レベル。 可能な値:0(80%)、1(90%)、2(95%)、3(98%)、4(99%)、5(99.5%)。 デフォルト値:5。 比較モードで、clickhouse-benchmarkは選択された信頼レベルで2つの分布が異ならないかを判断するために 独立二標本t検定 を実行します。--cumulative— インターバルごとのデータではなく、累積データを印刷します。--database=DATABASE_NAME— ClickHouseデータベース名。 デフォルト値:default。--user=USERNAME— ClickHouseユーザー名。 デフォルト値:default。--password=PSWD— ClickHouseユーザーのパスワード。 デフォルト値:空文字列。--stacktrace— スタックトレースの出力。キーが設定されている際、clickhouse-benchmarkは例外のスタックトレースを出力します。--stage=WORD— サーバーでのクエリ処理ステージ。 ClickHouseは指定されたステージでクエリ処理を停止し、clickhouse-benchmarkに回答を返します。 可能な値:complete、fetch_columns、with_mergeable_state。 デフォルト値:complete。--roundrobin— 異なる--host/--portでクエリを比較するのではなく、ランダムに--host/--portの1つを選び、各クエリに送信します。--reconnect=N- 再接続の動作を制御します。 可能な値:0(再接続しない)、1(各クエリごとに再接続)、またはN(Nクエリごとに再接続)。 デフォルト値:0。--max-consecutive-errors=N— 許可される連続エラーの数。 デフォルト値:0。--ignore-error,--continue_on_errors— クエリが失敗してもテストを続行します。--client-side-time— サーバーサイドの時間ではなく、ネットワーク通信を含む時間を表示します。サーバーバージョン22.8以前では、クライアントサイドの時間を常に表示します。--help— ヘルプメッセージを表示します。--verbose— ヘルプメッセージの詳細度を増加させます。
クエリに対して何らかの 設定 を適用したい場合は、キー --<セッション設定名>= SETTING_VALUE として渡します。 例えば、--max_memory_usage=1048576。
環境変数オプション
ユーザー名、パスワード、ホストは環境変数 CLICKHOUSE_USER、CLICKHOUSE_PASSWORD、CLICKHOUSE_HOST を通じて設定できます。
コマンドライン引数 --user、--password または --host が環境変数より優先されます。
出力
デフォルトで、clickhouse-benchmark は各 --delay インターバルに対してレポートを行います。
レポートの例:
レポートには以下の内容が含まれます:
-
Queries executed:フィールドにおけるクエリの数。 -
ステータス文字列(順不同):
- ClickHouseサーバーのエンドポイント。
- 処理されたクエリの数。
- QPS: 指定された
--delay引数の期間中にサーバーが実行したクエリの数。 - RPS: 指定された
--delay引数の期間中にサーバーが読み込んだ行の数。 - MiB/s: 指定された
--delay引数の期間中にサーバーが読み込んだメビバイトの数。 - 結果RPS: 指定された
--delay引数の期間中にサーバーがクエリ結果に配置した行の数。 - 結果MiB/s: 指定された
--delay引数の期間中にサーバーがクエリ結果に配置したメビバイトの数。
-
クエリ実行時間のパーセンタイル。
比較モード
clickhouse-benchmark は2つの稼働中のClickHouseサーバーのパフォーマンスを比較できます。
比較モードを使用するには、2つのサーバーのエンドポイントを --host、 --port の2対のキーで指定します。 引数リストの位置でキーが一致し、最初の --host が最初の --port と一致します。 clickhouse-benchmark は両方のサーバーへの接続を確立し、その後クエリを送信します。 各クエリはランダムに選択されたサーバーに宛てられます。 結果はテーブル形式で表示されます。