Multithreading 集成多线程测试以对服务器进行压力测试

Multithreading 集成多线程测试以对服务器进行压力测试,multithreading,testing,integration,stress-testing,Multithreading,Testing,Integration,Stress Testing,我对C#线程的世界还不熟悉,希望对特定的服务器方法进行压力测试。 我想以某种方式捕获运行流程所花费的时间,并以某种方式返回它。或者,如果服务器返回一条错误消息,当我启动并发线程时。。。 也就是说,随着用户数量的增加,会出现某种衰减统计数据。我在寻找简单而有效的东西… 我将从集成测试中调用此过程,如下所示: [Test] public void StressTest_SomeExpensiveMethod_Approach() { int NO_THREADS = 10; Thr

我对C#线程的世界还不熟悉,希望对特定的服务器方法进行压力测试。 我想以某种方式捕获运行流程所花费的时间,并以某种方式返回它。或者,如果服务器返回一条错误消息,当我启动并发线程时。。。 也就是说,随着用户数量的增加,会出现某种衰减统计数据。我在寻找简单而有效的东西…
我将从集成测试中调用此过程,如下所示:

[Test]
public void StressTest_SomeExpensiveMethod_Approach()
{

    int NO_THREADS = 10;
    Thread thread = null;
    MyClass myC = new MyClass();

    for (int i = 0; i < NO_THREADS; i++)
    {
        thread = new Thread(myC.DoExpensiveWork);
        thread.Name = i.ToString();
        thread.Priority = ThreadPriority.Highest;
        thread.Start(); 
    }
}

如果您有VS 2010 Ultimate或更新版本,您可以使用一系列不同的参数创建负载测试,即使在运行时,它也会给您提供非常有用的报告。以下链接可能有助于您的努力:

public class MyClass
{   
        public void DoExpensiveWork()
        {

            ServerClass cs = new ServerClass();
            string testData = "sometestdata";

            //*** CALL TO METHOD-UNDER-TEST ***//
            DateTime startTime = DateTime.Now;
            IList<string> response = cs.SomeExpensiveMethod(testData);
            DateTime endTime = DateTime.Now;        
        }   
}