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 查询,因此您不应该遇到尝试实现异步插入/更新/删除查询时遇到的相同类型的锁定/事务中断问题。要知道的一件事是,不要循环运行它们,因为这是同步的。如果需要,您可以在循环中设置查询,但您需要使用 Service Broker 来运行它们。看看这篇优秀的文章开始吧。对于 C# 方面,如果您正在运行 2012 ,请查看此 MSDN 文章。

于 2013-06-28T16:25:15.650 回答