对于Visual Studio 2013 Web性能测试代理配置,“没有这样的主机”

时间:2015-03-26 14:33:50

标签: visual-studio-2013 performance-testing stress-testing

我正在尝试为Visual Studio 2013 Web性能测试设置控制器和代理,并且在配置代理时收到错误消息"无法向测试控制器注册此测试代理。连接到测试控制器MyController:6901失败,因为测试控制器可访问或服务未运行。"

日志中的详细错误消息是:" System.Net.Sockets.SocketException(0x80004005):没有这样的主机已知"

我下载了#34; Microsoft Visual Studio 2013代理商,"来自http://www.microsoft.com/en-us/download/details.aspx?id=40750

控制器MyController是运行Windows 7 Professional SP1的64位物理机。 MyDomain \ MyUser是此计算机的管理员。 Windows防火墙未启用。

我以MyDomain \ MyUser身份登录控制器计算机并运行控制器安装。我将登录帐户指定为MyDomain \ MyUserName并选中"配置测试控制器以进行负载测试。"

安装完成后我发现:

  1. 服务" Visual Studio测试控制器"以域用户帐户MyDomain \ MyUser的身份运行。
  2. 文档说服务默认侦听端口6901。该服务位于C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ QTController.exe。当我查看QTController.exe.config时,我注意到appsettings键ControllerServicePort设置为" 6901",这是默认值。
  3. 当我运行netstat -a -n时,我看到TCP 0.0.0.0:6901 0.0.0.0.:0 LISTENING,所以看起来机器正在侦听端口6901并接听所有来电者。
  4. MyDomain \ MyUser位于控制器计算机上的Administrators组中。
  5. MyDomain \ MyUser位于控制器计算机上的TeamTestControllerUsers组中。该组由Visual Studio控制器安装程序创建,安装程序添加了MyDomain \ MyUser。
  6. 我可以成功ping MyAgent。
  7. 我重新启动了机器。
  8. 尝试配置代理时出现问题。

    代理计算机是运行Windows 7 Professional SP1的64位虚拟机。 MyDomain \ MyUser是此计算机的管理员。 Windows防火墙未启用。

    我以MyDomain \ MyUser身份登录代理计算机并运行代理程序安装。在安装结束时,配置测试代理"出现对话框。它提出了两个问题:

    1. 将测试代理作为服务运行。我输入了MyDomain \ MyUser。
    2. 我检查了#34;注册测试控制器"并输入" MyController:6901"然后单击“应用设置”。
    3. 错误消息为"无法向测试控制器注册此测试代理。连接到测试控制器MyController:6901失败,因为测试控制器可访问或服务未运行。"

      测试代理具有详细的错误日志。以下是相关部分:

      I,2015/03 / 26,09:35:57.872,AgentConfiguration:未在任何控制器上配置Found代理。 I,2015/03 / 26,09:35:57.872,获取有关控制器的信息:MyController:6901。 I,2015/03 / 26,09:35:57.872,创建频道 I,2015/03 / 26,09:35:57.997,CreateControllerObject:ControllerVersion:12.0 I,2015/03 / 26,09:36:02.943,CreateControllerObject:尝试0,System.Net.Sockets.SocketException(0x80004005):没有这样的主机已知

      服务器堆栈跟踪:    在System.Net.Dns.GetAddrInfo(String name)    在System.Net.Dns.InternalGetHostByName(String hostName,Boolean includeIPv6)    在System.Net.Dns.GetHostAddresses(String hostNameOrAddress)    在System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()    在System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()    在System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid,Boolean openNew)    在System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg,ITransportHeaders requestHeaders,Stream requestStream)    在System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage消息,ITransportHeaders requestHeaders,Stream requestStream,ITransportHeaders& responseHeaders,Stream& responseStream)    在System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

      我重启MyAgent并得到同样的错误。

      从MyAgent我可以成功ping MyController。

      从MyAgent我可以telnet MyController 6901并获得空白屏幕(这意味着端口已打开)。

      我尝试了此处提到的修复(http://support.microsoft.com/en-us/kb/2823477),将控制器计算机域的DSN后缀附加到控制器计算机和代理计算机上的NIC的TCP \ IP设置。由于MyAgent和MyController能够仅使用机器名称相互ping通,因此我不希望此解决方案起作用,并且它不起作用。

      我在Windows 7 64位物理计算机(而不是虚拟机)上重复了此代理安装,并收到完全相同的错误。

      以前版本的Visual Studio有一些修补程序(例如http://support.microsoft.com/en-us/kb/2643086),但VS 2013没有。

1 个答案:

答案 0 :(得分:0)

我们的代理机器与控制器机器位于不同的子网上。

当我们将控制器移动到与代理机器相同的子网中的机器时,它开始工作。

这可能是因为为控制器使用物理机器而代理商使用的是虚拟机,但这是猜测。