8

DB アプリケーションのパフォーマンスとスケーラビリティを測定したいと考えています。DB とスクリプト (SQL) ファイルを引数 (+ 必要な詳細、ホスト名、ポート、ログインなど) として取り、DB に対して多くの SQL ステートメントを実行できるツールを探しています。

理想的には、シミュレートされたクライアントの数、テスト期間、変数のランダム化、リストからの選択などのパラメーターを制御できるようにする必要があります (例: SELECT FROM ... WHERE value = @var、var はコマンド ラインから読み取られるか、実行ごとにランダム化されます)。 . 結果をテストして、分析およびプロットできる CSV または XML ファイルとして保存したいと考えています。もちろん、価格に関しては、「無料」または「デモ」を好みます:-)

驚いたことに (少なくとも私にとっては)、Web アプリケーションの負荷テスト用のツールは数十ありますが、DB テスト用のツールは見つかりませんでした!? 私が見た pgbench などは、TPC シナリオに基づいて組み込み DB を使用するため、DBMS 構成と H/W のテストに役立ちますが、MY DB をテストすることはできません! 助言がありますか?

具体的には、Linux で Postgres 8.3 を使用しますが、これらの要件を満たす任意の DB 汎用ツールを使用できます。H/W には 32GB の RAM があり、メインのテーブルとインデックスのサイズは ~120GB です。したがって、コールド キャッシュとウォーム キャッシュの実行 (I/O と RAM) の応答時間の比率は 1:10 になる可能性があります。現実的には、リクエストが均等に分散されることを期待しているため、DB のさまざまな部分に対してクエリをテストすることが重要です。

メールでもお気軽にご連絡ください。ありがとう!

-- シャウル・ダー (info@shausdar.com)

4

5 に答える 5

5

ApacheのJMeterは、さまざまなサーバータイプを処理できます。私はこれをWebアプリケーションに対する負荷テストに使用し、チームの他のメンバーはDB呼び出しに使用します。必要な負荷を得るには、さまざまな方法で構成できます。コンソールモードで実行でき、さまざまなクライアントを使用してクラスター化して、クライアントのオーバーヘッドを最小限に抑えることができます(結果を改ざんします)。

これはJavaアプリケーションであり、一見すると少し複雑です。しかし、それでも私たちはそれが大好きです。:-)

于 2009-05-20T11:49:03.257 に答える
1

SQL Load Generator もそのようなツールです。

http://sqlloadgenerator.codeplex.com/

気に入っていますが、テスト設定を保存するオプションがまだありません。

于 2012-06-22T18:14:03.833 に答える
0

メインフレーム DB2 データベースのストレス テストに適したソリューションが見つからなかったため、独自のソリューションを開発することになりました。実際には、DB2 Connect がインストールされた Linux を実行する 30 台の PC バンクで構成されています。

29 台のボックスがスクリプトを実行し、スターター ファイルが NFS マウントに表示されるのを待つだけで、データに基づいて固定クエリの実行を開始します。これらのクエリ (およびデータベース内のデータ) が固定されているという事実は、以前に成功した実行と簡単に比較できることを意味します。

30 番目のボックスは、2 つのスクリプトを連続して実行します (2 番目のボックスは他のすべてのボックスと同じです)。最初の空は、データベース テーブルに既知のデータを入力し、スターター ファイルを作成して、他のすべてのマシン (およびそれ自体) が続行できるようにします。

これはすべてbashDB2 Connect を使用して行われるため、かなり簡単に保守できます (そして無料です)。

また、何ヶ月にもわたって収集された生産情報の分析に基づいてランダムなクエリを実行する別のバリ​​アントもあります。既知の成功したベースラインに対して出力をチェックするのはより困難ですが、その状況では、機能とパフォーマンスの問題のみを探します (したがって、エラーと時間がかかりすぎるクエリをチェックします)。

現在、これらすべての物理サーバーを、zLinux を実行するメインフレーム (TCP/IP に共有メモリ HyperSockets を使用し、基本的にネットワーク遅延を除去する) と VMWare を使用する Intel プラットフォームの両方で、仮想マシンに統合できるかどうかを検討しています。そのハードウェアの一部を解放します。

これは、トラックを大幅に制御できるため、前もって少し作業することを気にしない場合に検討する必要があるオプションです。

于 2009-05-23T09:45:19.837 に答える
0

Continuent のオープン ソース ツール Bristlecone を確認しましたか? 私は使用していませんが、Postgres で動作し、要求されたことが実行できるようです。(新しいユーザーとして申し訳ありませんが、ツール ページへの直接リンクを提供することはできませんが、Google がアクセスします ;o])

于 2009-05-27T05:59:11.150 に答える