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