我有一个select查询,我想并行运行它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
}我需要测试select查询50次,我是否需要使用50个不同的线程或在for循环中运行该查询50次,这是正确的方法吗?
有没有更好的方法来检查查询的消耗时间,比如说50次?我需要使用线程吗?我不确定如何使用线程,对线程编程也没有太多的概念,任何示例都会有帮助。
发布于 2013-06-29 00:25:16
首先,你为什么要这么做?这是出于性能评估的目的,是作为一个有趣的爱好项目,还是作为生产代码的一部分?
因为它是一个Select查询,所以您不应该遇到尝试实现异步插入/更新/删除查询时遇到的相同类型的锁定/事务破坏问题。要知道的一件事是,不要在循环中运行它们,因为这是同步的。如果需要,您可以在循环中设置查询,但需要使用Service Broker来运行它们。看一看this excellent article开始吧。在C#方面,如果你运行的是2012版,那就看看this MSDN article吧。
https://stackoverflow.com/questions/17369129
复制相似问题