运行负载测试时无法从某些服务器获取性能计数器

时间:2013-02-11 12:32:20

标签: visual-studio-2010 automated-tests load-testing performancecounter

我正在使用Visual Studio 2010中的内置系统运行负载测试。该设置是一个包含四个代理的测试控制器。我正在运行的测试会将负载放在应用程序服务器和数据库服务器上。我遇到的问题是我无法从应用程序服务器和数据库服务器上的性能计数器获取值。我已按照http://msdn.microsoft.com/en-us/library/ms404661%28v=vs.100%29.aspxhttp://blogs.catapultsystems.com/tlingenfelder/archive/2009/06/18/performance-counters-timeouts-and-load-testing-with-visual-studio-2008.aspx上的说明进行排查,但无效。

使用性能监视器(perfmon)我可以从应用程序服务器和数据库上的性能计数器连接并获取值,并从多台计算机进行测试。但是在运行负载测试时,我什么都没得到。

我正在尝试获取CPU%和内存使用率等系统性能计数器,因此不涉及自定义计数器。

关于我接下来要做什么的任何暗示?

2 个答案:

答案 0 :(得分:1)

主要问题是我不知道为了在负载测试期间从计算机获取性能数据,它应该在其上安装测试代理(或控制器)。

  1. 在所有用于负载测试的机器上安装测试代理并将其注册到控制器(对我来说,appserver和数据库,那些没有安装测试代理的那些)
  2. 在Visual Studio的实际负载测试中,从计数器集中删除appserver和数据库
  3. 再次添加
  4. 运行测试!
  5. 似乎对负载测试中的appserver和数据库的旧引用没有按预期工作,因此需要再次删除和添加它们。

    瞧!性能计数器出现并返回值!

答案 1 :(得分:0)

我也有同样的问题。 我找到的唯一解决方案是删除计数器集中的一些计数器,并增加采样间隔(参见here)。

我的装备中的另一件事是角色:代理会运行测试但不会收集数据;这将由我的Web服务器完成(在其上安装了测试代理)。请查看link