5

pgbench ツールが独自の SQL シナリオを並行して実行できるかどうかを明確にしてください。グーグルとローカル検索では、良い結果は得られませんでした。

エラーなしで実行されるスクリプトを実行します。しかし、実行後、スクリプトが実際に実行されたという兆候は見られません。pgbench は私の SQL スクリプトでトランザクションをコミットしますか?

それは私が得る出力です:

C:\Program Files\PostgreSQL\9.2\bin>pgbench.exe -n -h dbserverhost -U postgres -
T 10 -c 64 -j 8 bench_dbname -f c:\Dev\bench_script.sql

transaction type: TPC-B (sort of)
scaling factor: 1
query mode: simple
number of clients: 64
number of threads: 8
duration: 10 s
number of transactions actually processed: 1020
tps = 95.846561 (including connections establishing)
tps = 103.387127 (excluding connections establishing)

C:\Program Files\PostgreSQL\9.2\bin>

SQLスクリプトbench_script.sqlは次のとおりです。

--comment here
begin;
  insert into schm.log values ( 'pgbench test', current_timestamp );
end;

解決

pgBench Windows バージョンは、ユーティリティに渡される引数の順序に敏感です。「bench_dbname」引数は、行の最後の 1 つのパラメーターでなければなりません。

これは、pgbench Windows バージョンのコマンド ラインの正しい例です。

pgbench.exe -d -r -h 127.0.0.1 -U postgres -T 5 -f C:\Dev\bench_script.sql -c 64 -j 8 postgres

私にとって最も有用な議論は次のとおりです。

  • -T 60 (スクリプトを実行する秒数)
  • -t 100 (クライアントあたりの取引金額)
  • -d 詳細なデバッグ情報を出力に出力します
  • -r スクリプトのすべてのアクションに対して計算されたレイテンシー値を要約に含めます
  • -f ベンチマーク モードでユーザー定義の SQL スクリプトを実行します
  • -c クライアントの金額
  • -j 糸量

pgBench 公式ドキュメント

PgBench、愛してます!:)

皆様のご多幸をお祈り申し上げます ;)

4

2 に答える 2

3

「トランザクション タイプ: TPC-B (一種)」は、カスタム SQL スクリプトを実行するための -f オプションを処理せず、代わりにデフォルト クエリを実行したことを意味します。

Windows バージョンでは、ハイフンで始まらない最初のオプション、つまり「bench_dbname」に到達すると、getopt はオプションの解析を停止するようです。したがって、 -f がその前にあることを確認してください。

于 2013-08-01T20:26:46.310 に答える