データベースのパフォーマンス テストを行いたいので、データベースへの要求をシミュレートし、期間やその他の統計も測定する必要があります。私のデータベースは MS Sql Server 2005/8 で、私のサーバーは IIS で ASP.NET を実行しています
シミュレートする必要があるテストには、データベース側に実装されていないいくつかのフロー ロジックが必要です。テスト ツールはそれを実装する必要があります。
この質問では、そのフロー ロジックの影響を無視し、結果に影響を与えないように、時間とリソースがゼロであると想定してください。
私は2つのオプションを検討しています:
C# で独自のカスタム ツールを作成し、C#
でフロー ロジックを実装し、「マルチスレッドでテストを実行するだけ」です。C# 側では何も測定しません。代わりに、SQL サーバー プロファイラーを使用してデータベース リクエストを測定します。Jmeter(または他の同等のツール?)
を使用して、jmeterを使用してフローロジックを実装します(コードを実行できる標準コンポーネントまたはサンプラーを使用)。この方法では、スレッドを自分で処理する必要はありません。jmeter が処理してくれます。この場合、プロファイラーの他に、Jmeter を使用してデータベースを測定することもできます。
jmeter の組み込みツール (ロジック コントローラーなど) と比較して、C# ではフロー ログインの記述がはるかに簡単であるため、最初のオプションを好みます。
私はマルチスレッドの経験があり、複雑になる可能性があることを知っていますが、この場合、テストは独立しており、データを共有しないため、ロックをあまり処理する必要はありません。
jmeter が優れたツールであり、時間測定を非常にうまく処理することは知っていますが、私の場合は、SQL プロファイラーを使用できます。
自分でマルチスレッドを管理する際の作業と困難を過小評価していませんか?
他に何か不足していますか?別のオプションはありますか?