3

私は選択クエリを持っています.50回並行して実行したいと思います(負荷テストのため)。独立50回(別工程)。

私がこのように走ったら

for (int i=0;i<=49;i++)
{
 //record start time before the query
 //Code that runs the select query...
 //record end time after the query
}

選択クエリを 50 回テストする必要があります。50 の異なるスレッドを使用する必要がありますか、またはそのクエリを for ループで 50 回実行する必要がありますか?どちらが正しいアプローチですか?

クエリの消費時間を 50 回確認するより良い方法はありますか? スレッドを使用する必要がありますか? スレッドの使用方法がわかりません。スレッド化されたプログラミングについてあまり考えていません。サンプルが役立ちます。

4

1 に答える 1

0

そもそもなんでこんなことしてんの?これはパフォーマンス評価目的ですか、楽しい趣味のプロジェクトですか、それとも製品コードの一部ですか?

これは Select クエリであるため、非同期の Insert/Update/Delete クエリを実装しようとした場合と同じ種類のロック/トランザクション破壊の問題に遭遇するべきではありません。知っておくべきことの 1 つは、それらをループで実行しないことです。これは同期的であるためです。必要に応じてクエリをループで設定できますが、クエリを実行するには Service Broker を使用する必要があります。開始するには、この優れた記事をご覧ください。C# 側については、2012 を実行している場合は、この MSDN の記事をご覧ください。

于 2013-06-28T16:25:15.650 に答える