Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.Net中进行负载测试应该遵循哪种方法?_C#_Multithreading_Load Testing_Performancecounter_Stress Testing - Fatal编程技术网

C# 在.Net中进行负载测试应该遵循哪种方法?

C# 在.Net中进行负载测试应该遵循哪种方法?,c#,multithreading,load-testing,performancecounter,stress-testing,C#,Multithreading,Load Testing,Performancecounter,Stress Testing,我看到了一些负载测试的方法。但是我真的很困惑!因为我的故事是: 我从web服务收集数据,然后将它们序列化以提供给其他地方。有人想为100或150个用户计算我的代码的平均时间(从收集数据到序列化它们)。这些用户可以同时异步访问我的代码。所以我想在我的代码中进行特定的负载测试。我应该走哪条路?多线程?线程池?性能计数器?无论如何,真的 在非技术方面:我发现有一些“他们反对我/我们”;也许您可以让“他们”来帮助您指定/构建它 通常,在这些类型的场景中,最好将测试驱动程序保持在外部,因为 您正在测试真

我看到了一些负载测试的方法。但是我真的很困惑!因为我的故事是:

我从web服务收集数据,然后将它们序列化以提供给其他地方。有人想为100或150个用户计算我的代码的平均时间(从收集数据到序列化它们)。这些用户可以同时异步访问我的代码。所以我想在我的代码中进行特定的负载测试。我应该走哪条路?多线程?线程池?性能计数器?无论如何,真的

在非技术方面:我发现有一些“他们反对我/我们”;也许您可以让“他们”来帮助您指定/构建它

通常,在这些类型的场景中,最好将测试驱动程序保持在外部,因为

  • 您正在测试真实的代码,而不是测试特定的接口
  • 您可以跨计算机(甚至不同类型的客户端)分配负载
  • 监视活动通常更容易(使用PerfMon、WMI、Process Explorer、带宽监视等)
  • 它可以降低系统的复杂性(不需要测试基础设施)
这主要归结为在进行压力测试时更喜欢集成测试而不是单元测试。
另一部分来自UNIX filosofy:让每个程序都能很好地完成一项任务。

Hi-sehe,如果我理解错误,请警告我。是的,我可以用外部测试驱动程序计算我整个项目的平均时间。但是我不能计算具体的代码!因为如果我尝试测试驱动程序,它们包括Web服务的平均时间、请求和响应时间。我不想这样做。“有人想计算我代码的平均时间”,所以这是你自己的问题。如果您想知道时间的相对使用情况,请使用适当的探查器。当然,使用分析器运行会影响时间(尽管采样分析器的开销很低),但这就是海森堡。这种方法在相关性和易实现性方面击败了任何定制方法(工具存在)