gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:32:18 29 4
gpt4 key购买 nike

我是 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();
}
}

我在下面有类 MyClass。此类包含方法 DoExpensiveWork()。我正在尝试为指定的固定数量的线程调用 DoExpensiveWork()(比如 10 或 20,然后从那里增加)SomeExpensiveMethod(一个昂贵的过程,虽然通常通常 < 1 秒)然后将结果存储在列表中

我被告知我需要使用回调和锁定机制,但我被卡住了。谁能帮帮我吗?我正在使用参数化线程,但我认为我有错。

我需要一点编码方面的帮助。如果您能根据您的建议修改下面的示例,我将不胜感激...

谢谢桑德拉

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;
}
}

最佳答案

如果您有 VS 2010 Ultimate 或更新版本,您可以使用一组不同的参数创建负载测试,即使在运行时它也会为您提供的报告非常有帮助。以下链接可能会帮助您:http://visualstudiomagazine.com/articles/2010/07/08/load-testing-with-visual-studio-2010.aspx

关于multithreading - 集成多线程测试以对服务器进行压力测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15161721/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com