メインコンテンツまでスキップ
メインコンテンツまでスキップ

clickhouse-benchmark

ClickHouseサーバーに接続し、指定されたクエリを繰り返し送信します。

構文

または

または

複数のクエリを送信したい場合は、テキストファイルを作成し、このファイル内の各クエリを個別の文字列として配置します。例えば:

その後、このファイルをclickhouse-benchmarkの標準入力に渡します:

キー

  • --query=QUERY — 実行するクエリ。このパラメータが指定されない場合、clickhouse-benchmarkは標準入力からクエリを読み取ります。
  • -c N, --concurrency=Nclickhouse-benchmarkが同時に送信するクエリの数。デフォルト値: 1。
  • -d N, --delay=N — 中間レポートの間隔(レポートを無効にするには0を設定)。デフォルト値: 1。
  • -h HOST, --host=HOST — サーバーホスト。デフォルト値: localhost比較モード では複数の -h キーを使用できます。
  • -i N, --iterations=N — クエリの総数。デフォルト値: 0(無限に繰り返す)。
  • -r, --randomize — 入力クエリが1つ以上ある場合のクエリ実行のランダム順序。
  • -s, --secureTLS接続を使用します。
  • -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独立二標本のスチューデントのt検定を実行し、選択した信頼レベルで2つの分布が異ならないかを判断します。
  • --cumulative — インターバルごとのデータではなく、累積データを印刷します。
  • --database=DATABASE_NAME — ClickHouseデータベース名。デフォルト値: default
  • --user=USERNAME — ClickHouseユーザー名。デフォルト値: default
  • --password=PSWD — ClickHouseユーザーのパスワード。デフォルト値: 空の文字列。
  • --stacktrace — スタックトレースの出力。このキーが設定されると、clickhouse-bencmarkは例外のスタックトレースを出力します。
  • --stage=WORD — サーバーでのクエリ処理ステージ。ClickHouseは指定したステージでのクエリ処理を停止し、clickhouse-benchmarkに応答を返します。可能な値: complete, fetch_columns, with_mergeable_state。デフォルト値: complete
  • --reconnect=N - 再接続の動作を制御します。可能な値は 0(再接続しない)、1(各クエリごとに再接続)、または N(Nクエリごとに再接続)です。デフォルト値: 1。
  • --help — ヘルプメッセージを表示します。

クエリに対して設定を適用したい場合は、キー --<セッション設定名>= SETTING_VALUE として渡します。たとえば、--max_memory_usage=1048576

出力

デフォルトでは、clickhouse-benchmarkは各--delayインターバルでレポートします。

レポートの例:

レポートには、以下の情報が含まれます:

  • 実行されたクエリの数: フィールドのクエリ数。

  • ステータス文字列には以下が含まれます(順番に):

    • ClickHouseサーバーのエンドポイント。
    • 処理されたクエリの数。
    • QPS: --delay引数で指定された期間中にサーバーが1秒あたりに実行したクエリの数。
    • RPS: --delay引数で指定された期間中にサーバーが1秒あたりに読み取った行の数。
    • MiB/s: --delay引数で指定された期間中にサーバーが1秒あたりに読み取ったメビバイト数。
    • 結果 RPS: --delay引数で指定された期間中にサーバーがクエリの結果に置いた行の数。
    • 結果 MiB/s: --delay引数で指定された期間中にサーバーがクエリの結果に置いたメビバイト数。
  • クエリ実行時間のパーセンタイル。

比較モード

clickhouse-benchmarkは、2つの稼働中のClickHouseサーバーのパフォーマンスを比較できます。

比較モードを使用するには、2組の --host, --port キーを使用して両方のサーバーのエンドポイントを指定します。引数リストの位置に合わせてキーが一致し、最初の --host が最初の --port に一致します。clickhouse-benchmarkは両方のサーバーへの接続を確立し、次にクエリを送信します。各クエリはランダムに選択されたサーバーに送信され、結果はテーブルで表示されます。