【问题标题】:Visual Studio Load Test Virtual Users SimulationVisual Studio 负载测试虚拟用户模拟
【发布时间】:2011-01-05 19:15:38
【问题描述】:

我目前正在编写一个负载测试应用程序,该应用程序利用 Visual Studio 2010 的负载测试。负载测试将在同一台机器上模拟 20 个用户,我需要一些数据在所有用户之间共享内存模拟用户。

我很惊讶我找不到回答以下问题的文档:

是什么将每个虚拟用户的运行上下文与另一个分开?每个虚拟用户是否在自己的进程中运行测试?也许在它自己的应用程序域中?或者只是在它自己的线程上?我需要知道,因为如果每个用户都在自己的进程中运行测试,那么所有内存缓存都不是共享的,而是为每个用户创建的,而不是为所有用户创建一次,这对我不利。

【问题讨论】:

    标签: visual-studio-2010 load-testing


    【解决方案1】:

    您可以使用 Process Explorer(http://technet.microsoft.com/en-us/sysinternals/bb896653 这是任务管理器的高级版本)来获得答案。

    运行 Visual Studio 负载测试并打开 Process Explorer。检查是否正在创建新进程。然后找到Visual Studio进程并双击。然后选择 .NET Performance 选项卡,它应该会显示进程中所有 AppDomain 的列表。

    顺便说一句,今天我们发布了一个用于负载测试的 Fiddler 扩展,名为 StresStimulus - http://stresstimulus.stimulustechnology.com。我们将所有虚拟用户保持在同一进程中的不同线程上。

    【讨论】:

      【解决方案2】:

      这是迄今为止我找到的最接近答案的答案。

      http://blogs.msdn.com/b/billbar/archive/2007/06/13/coded-web-tests-and-web-test-plug-ins-should-not-block-the-thread.aspx

      答案是每台机器只有一个进程进行负载测试,使用多个线程,但虚拟用户被“优化”为每个线程工作多个。

      关于您想要做什么,使用静态构造函数创建静态类将在所有虚拟用户之间获得共享内存块。需要注意的是,这是一个多线程环境,应谨慎处理您的代码。

      【讨论】:

      • 这可能很明显,但请记住,任何依赖静态类/变量在虚拟用户之间共享数据的解决方案都不适合多代理设置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多